base::Nest< T >::GroupId Class Reference

Opaque struct for a group. More...

#include <base_nest.hh>

List of all members.

Public Member Functions

 GroupId (void)
 ~GroupId ()
void operator= (bool f)
 operator bool () const
 <
bool IfEmpty (void) const
 < emptiness and invalid aren't the same

Private Member Functions

 GroupId (InnerDlist *innerDlist, OuterDlink *outerDlink)
InnerDlistGetInnerDlist (void) const
OuterDlinkGetOuterDlink (void) const

Private Attributes

InnerDlistmInnerDlist
OuterDlinkmOuterDlink

Friends

class Nest< T >
bool operator== (const GroupId &a, const GroupId &b)
bool operator!= (const GroupId &a, const GroupId &b)


Detailed Description

template<typename T>
class base::Nest< T >::GroupId

Opaque struct for a group.

    /// Returned to user after adding a group.
    /// Its private members are used to unlink the inner list out of outer list.
    ///
	/// C++ note: operator bool() requires operator==/!=().
	/// Otherwise that opens this pitfall of implicit conversion to bool:
    /// if ( groupId0 == groupId1 )              // memberwise comparison intended
    /// if ( bool(groupId0) == bool(groupId1) )  // what was really compiled, oops
    /// 

Constructor & Destructor Documentation

template<typename T>
base::Nest< T >::GroupId::GroupId ( void   )  [inline]

template<typename T>
base::Nest< T >::GroupId::GroupId ( InnerDlist innerDlist,
OuterDlink outerDlink 
) [inline, private]

template<typename T>
base::Nest< T >::GroupId::~GroupId (  )  [inline]


Member Function Documentation

template<typename T>
InnerDlist* base::Nest< T >::GroupId::GetInnerDlist ( void   )  const [inline, private]

template<typename T>
OuterDlink* base::Nest< T >::GroupId::GetOuterDlink ( void   )  const [inline, private]

template<typename T>
void base::Nest< T >::GroupId::operator= ( bool  f  )  [inline]

template<typename T>
base::Nest< T >::GroupId::operator bool (  )  const [inline]

<

Returns:
true if ID is valid

template<typename T>
bool base::Nest< T >::GroupId::IfEmpty ( void   )  const [inline]

< emptiness and invalid aren't the same


Friends And Related Function Documentation

template<typename T>
friend class Nest< T > [friend]

template<typename T>
bool operator== ( const GroupId a,
const GroupId b 
) [friend]

template<typename T>
bool operator!= ( const GroupId a,
const GroupId b 
) [friend]


Member Data Documentation

template<typename T>
InnerDlist* base::Nest< T >::GroupId::mInnerDlist [private]

template<typename T>
OuterDlink* base::Nest< T >::GroupId::mOuterDlink [private]


The documentation for this class was generated from the following file: Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:19 2007