//*-- Author : Valeriy Onuchin 11/09/2000 
//
//
////////////////////////////////////////////////////////////////////////////////
//
// rooCollectionType corresponds to d_Collection_Type Class
//
// The abstract class rooCollectionType represents descriptors for collection
// types for attributes. An instance of any concrete derived class is called 
// a collection-type descriptor; it provides information about a particular 
// collection type, called its described collection type.
//
// Concrete derived classes represent descriptors for:
//
//    - Numeric variable-size array types
//    - Embedded-class variable-size array types
//    - Object-reference variable-size array types
//
// Because this class is abstract, you never instantiate it; instead, you work 
// with instances of its concrete derived classes. You should not derive your 
// own classes from this class.

#include "rooObjy.h"
#include <ooas.h>
#include <oo.h>

ClassImp(rooCollectionType)

////////////////////////////////////////////////////////////////////////////////
//______________________________________________________________________________
 rooCollectionType::rooCollectionType()
{
   // default ctor.  for internal use only

   fImp = 0;
}

//______________________________________________________________________________
 rooCollectionType::~rooCollectionType()
{
   // for internal use only
   
   fImp = 0;
}

//______________________________________________________________________________
 Int_t rooCollectionType::kind() const
{
   // Returns the ODMG collection kind of the described collection type.
   //
   // The only ODMG collection kind that Objectivity/DB supports is 
   // variable-size arrays of elements of the same type. 

   return fImp ? ((d_Collection_Type*)fImp)->kind() : 0;
}

//______________________________________________________________________________
const rooType & rooCollectionType::element_type()
{
   // Returns a type descriptor for the elements in the described collection 
   // type.

   if(!fImp) return 0;
   d_Type& tp = ((d_Collection_Type*)fImp)->element_type();
   if(!tp) return 0;
 
   if(!fElementType) fElementType = new rooType((void*)&tp);      
   else fElementType->setImp((void*)&tp);
   return *fElementType;   
}


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.