Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TEmulatedMapProxy.h
Go to the documentation of this file.
1 // @(#)root/io:$Id$
2 // Author: Markus Frank 28/10/04
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 #ifndef ROOT_TEmulatedMapProxy
12 #define ROOT_TEmulatedMapProxy
13 
15 
16 class TEmulatedMapProxy : public TEmulatedCollectionProxy {
17 
18 protected:
19  // Map input streamer
20  void ReadMap(UInt_t nElements, TBuffer &b);
21 
22  // Map output streamer
23  void WriteMap(UInt_t nElements, TBuffer &b);
24 private:
25  TEmulatedMapProxy &operator=(const TEmulatedMapProxy &rhs); // Not implemented.
26 
27 public:
28  // Virtual copy constructor
29  virtual TVirtualCollectionProxy* Generate() const;
30 
31  // Copy constructor
32  TEmulatedMapProxy(const TEmulatedMapProxy& copy);
33 
34  // Initializing constructor
35  TEmulatedMapProxy(const char* cl_name, Bool_t silent);
36 
37  // Standard destructor
38  virtual ~TEmulatedMapProxy();
39 
40  // Return the address of the value at index 'idx'
41  virtual void *At(UInt_t idx);
42 
43  // Return the current size of the container
44  virtual UInt_t Size() const;
45 
46  // Read portion of the streamer
47  virtual void ReadBuffer(TBuffer &buff, void *pObj);
48  virtual void ReadBuffer(TBuffer &buff, void *pObj, const TClass *onfile);
49 
50  // Streamer for I/O handling
51  virtual void Streamer(TBuffer &refBuffer);
52 
53  // Streamer I/O overload
54  virtual void Streamer(TBuffer &buff, void *pObj, int siz) {
55  TEmulatedCollectionProxy::Streamer(buff,pObj,siz);
56  }
57 };
58 
59 #endif