asset::Asset::Ident Struct Reference

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

#include <asset.hpp>

Collaboration diagram for asset::Asset::Ident:

Collaboration graph
[legend]

List of all members.

Public Member Functions

int compare (const Ident &other) const
 ordering of Assets is based on the ordering of Ident tuples, which are supposed to be unique.
 Ident (const string &n, const Category &cat, const string &o="lumi", const uint ver=1)
 operator string () const
bool operator< (const Ident &oi) const
bool operator== (const Ident &oi) const

Public Attributes

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


Detailed Description

Definition at line 149 of file asset.hpp.


Member Function Documentation

int asset::Asset::Ident::compare ( const Ident other  )  const [inline]

By using our customized lumiera::P as smart ptr, comparison on P<Asset> ptrs will be automatically forwarded to the Asset comparison operators.

Note:
version info is irrelevant

Definition at line 309 of file asset.hpp.

Referenced by operator==().

00310     { 
00311       int res;
00312       if (0 != (res=category.compare (oi.category)))  return res;
00313       if (0 != (res=org.compare (oi.org)))            return res;
00314       return name.compare (oi.name);
00315     }

Here is the caller graph for this function:

bool asset::Asset::Ident::operator== ( const Ident oi  )  const [inline]

Note:
equality ignores version differences

Definition at line 187 of file asset.hpp.

References compare().

00187 { return compare (oi) ==0; }

Here is the call graph for this function:


Member Data Documentation

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

Definition at line 160 of file asset.hpp.

The tuple (category, name, org) is unique.

Definition at line 155 of file asset.hpp.

Referenced by asset::ProcPatt::newCopy(), asset::Struct::queryPipeID(), and asset::Struct::queryStreamID().

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

Definition at line 167 of file asset.hpp.

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 175 of file asset.hpp.


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

Generated on Sat Aug 16 18:10:40 2008 for Lumiera by  doxygen 1.5.5