Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
Asset::Ident Struct Reference

#include "steam/asset.hpp"

Description

a POD comprised of all the information sufficiently identifying any given Asset.

Definition at line 146 of file asset.hpp.

Public Attributes

string name
 element ID, comprehensible but sanitised.
 
asset::Category category
 primary tree like classification of the asset.
 
const string org
 origin or authorship id.
 
const uint version
 version number of the thing or concept represented by this asset.
 

Public Member Functions

 Ident (string const &n, Category const &cat, string const &o="lumi", const uint ver=1)
 
auto operator<=> (Ident const &oi) const
 ordering of Assets is based on the ordering of Ident tuples, descending from Category to origin and finally to the asset element ID.
 
bool operator== (Ident const &oi) const
 
 operator string () const
 
bool isValid () const
 

Constructor & Destructor Documentation

◆ Ident()

Ident ( string const &  n,
Category const &  cat,
string const &  o = "lumi",
const uint  ver = 1 
)

Definition at line 46 of file asset.cpp.

Member Function Documentation

◆ operator<=>()

auto operator<=> ( Ident const &  oi) const
inline

ordering of Assets is based on the ordering of Ident tuples, descending from Category to origin and finally to the asset element ID.

Note
version info is ignored for this comparison

Definition at line 183 of file asset.hpp.

References Asset::Ident::category, Asset::Ident::name, and Asset::Ident::org.

◆ operator==()

bool operator== ( Ident const &  oi) const
inline

Definition at line 185 of file asset.hpp.

◆ operator string()

operator string ( ) const

Definition at line 71 of file asset.cpp.

◆ isValid()

bool isValid ( ) const

Definition at line 92 of file asset.cpp.

References Asset::Ident::name, Asset::Ident::org, and Asset::Ident::version.

Referenced by Pipe::Pipe().

+ Here is the caller graph for this function:

Member Data Documentation

◆ name

◆ category

asset::Category category

primary tree like classification of the asset.

Includes the distinction of different kinds of Assets, like Media, Audio, Video, Effects...

Definition at line 156 of file asset.hpp.

Referenced by steam::asset::anonymous_namespace{clip.cpp}::createClipIdent(), BasicPipe_test::createExplicit(), steam::asset::anonymous_namespace{preview.cpp}::createProxyIdent(), steam::asset::hash_value(), MediaFactory::operator()(), and Asset::Ident::operator<=>().

◆ org

const string org

origin or authorship id.

Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the component name to be more generic (e.g. "blur"). Default for all assets provided by the core Lumiera codebase is "lumi".

Definition at line 163 of file asset.hpp.

Referenced by steam::asset::anonymous_namespace{clip.cpp}::createClipIdent(), BasicPipe_test::createExplicit(), steam::asset::anonymous_namespace{preview.cpp}::createProxyIdent(), steam::asset::hash_value(), Asset::Ident::isValid(), and Asset::Ident::operator<=>().

◆ version

const uint version

version number of the thing or concept represented by this asset.

Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions.

Definition at line 171 of file asset.hpp.

Referenced by steam::asset::anonymous_namespace{clip.cpp}::createClipIdent(), steam::asset::anonymous_namespace{preview.cpp}::createProxyIdent(), and Asset::Ident::isValid().

+ Collaboration diagram for Asset::Ident:

The documentation for this struct was generated from the following files: