<
classChildIterator>
180 template<
classChildIterator>
266 switch(
object.GetTypeFamily() ) {
280 if(
object.GetTypeInfo()->IsType(needType) )
282 switch(
object.GetTypeFamily() ) {
285 if( m.GetMemberInfo()->GetTypeInfo()->MayContainType(needType) &&
293 object.GetCurrentChoiceVariant();
367 template<
classParent>
368 boolCLeafTypeIteratorBase<Parent>::CanSelect(
const CConstObjectInfo&
object)
370 returnCParent::CanSelect(
object) &&
380 template<
classParent>
383 if( !CParent::CanSelect(
object) )
387 ITERATE( TTypeList,
i, GetTypeList() ) {
388 if(
type->IsType(*
i) ) {
396 template<
classParent>
399 if( !CParent::CanEnter(
object) )
402 ITERATE( TTypeList,
i, GetTypeList() ) {
403 if(
type->MayContainType(*
i) )
456 return in.GetParentObjectPtr(typeInfo, max_depth, min_depth);
463 virtual boolIsParentClassOf(
const CClassTypeInfo* classInfo)
const override;
virtual bool IsParentClassOf(const CClassTypeInfo *classInfo) const override
TMemberIndex GetIndex(void) const
CConstObjectInfo Get(void) const
CConstTreeLevelIteratorMany * Clone(void)
const CItemInfo * GetItemInfo(void) const
void SetItemInfo(const CItemInfo *)
CConstTreeLevelIteratorMany(const CConstObjectInfo &object)
CConstTreeLevelIteratorOne * Clone(void)
void SetItemInfo(const CItemInfo *info)
TMemberIndex GetIndex(void) const
const CItemInfo * GetItemInfo(void) const
CConstTreeLevelIteratorOne(const CConstObjectInfo &object)
CConstObjectInfo m_Object
CConstObjectInfo Get(void) const
const CItemInfo * m_ItemInfo
Class describing stack level of traversal.
Root class for all serialization exceptions.
const CItemInfo * GetItemInfo(void) const
TMemberIndex GetIndex(void) const
CTreeLevelIteratorMany * Clone(void)
void SetItemInfo(const CItemInfo *)
CTreeLevelIteratorMany(const CObjectInfo &object)
CObjectInfo Get(void) const
const CItemInfo * m_ItemInfo
TMemberIndex GetIndex(void) const
CTreeLevelIteratorOne * Clone(void)
CTreeLevelIteratorOne(const CObjectInfo &object)
CObjectInfo Get(void) const
const CItemInfo * GetItemInfo(void) const
void SetItemInfo(const CItemInfo *info)
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
Template base class for CTypesIterator and CTypesConstIterator Do not use it directly.
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
TMemberIndex GetIndex(void) const
TTypeInfo GetTypeInfo(void) const
size_t TMemberIndex
Type used for indexing class members and choice variants.
const TMemberIndex kInvalidMember
Special value returned from FindMember.
const void * TConstObjectPtr
CParent::TObjectInfo::TObjectPtrType GetFoundPtr(void) const
static CTreeLevelIterator * CreateOne(const TObjectInfo &object)
virtual void SetItemInfo(const CItemInfo *info)=0
static void AddTo(CTypesIterator &it, TTypeInfo typeInfo)
TTypeInfo GetMatchType(void) const
static TObjectPtr GetParentObjectPtr(CObjectIStream &in, TTypeInfo typeInfo, size_t max_depth, size_t min_depth)
static TTypeInfo GetTypeInfo(void)
static CConstTreeLevelIterator * Create(const TObjectInfo &object)
virtual void SetItemInfo(const CItemInfo *info)=0
static CConstTreeLevelIterator * CreateOne(const TObjectInfo &object)
virtual ~CTreeLevelIterator(void)
static bool Match(const CObjectTypeInfo &type, TTypeInfo typeInfo)
static TObjectPtr GetObjectPtr(const CTypesIterator &it)
virtual bool CanEnter(const CConstObjectInfo &object)
virtual bool CanSelect(const CConstObjectInfo &object)
vector< TStackLevel > m_Stack
static bool HaveChildren(const CConstObjectInfo &object)
virtual ~CConstTreeLevelIterator(void)
bool CheckValid(void) const
void Erase(void)
Delete currently pointed object (throws exception if failed)
CTypesIteratorBase< Parent > & AddType(TTypeInfo type)
static CTreeLevelIterator * Create(const TObjectInfo &object)
TObjectInfo m_CurrentObject
CConstObjectInfo GetPointedObject(void) const
Get data and type information of object to which this type refers.
CObjectInfo GetPointedObject(void) const
Get data and type information of object to which this type refers.
void Reset(void)
Reset CObjectInfo to empty state.
ETypeFamily GetTypeFamily(void) const
Get data type family.
const CVariantInfo * GetVariantInfo(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
bool IsCObject(void) const
Check is this TypeInfo object is kind of CClassTypeInfoBase.
bool MayContainType(TTypeInfo type) const
#define NCBI_XSERIAL_EXPORT
Useful/utility classes and methods.
std::istream & in(std::istream &in_, double &x_)
static bool s_ContainsType(const CConstObjectInfo &object, TTypeInfo needType)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4