IGSTK
igstkToken.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkToken.h,v $
5  Language: C++
6  Date: $Date: 2008-02-11 01:41:51 $
7  Version: $Revision: 1.11 $
8 
9  Copyright (c) ISC Insight Software Consortium. All rights reserved.
10  See IGSTKCopyright.txt or http://www.igstk.org/copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 
18 #ifndef __igstkToken_h
19 #define __igstkToken_h
20 
21 #include <string>
22 #include <itkLightObject.h>
23 #include "igstkMacros.h"
24 
25 
26 namespace igstk
27 {
28 
29 
43 class Token
44 {
45 
46 public:
47 
49  typedef unsigned long IdentifierType;
50 
52  Token();
53 
55  virtual ~Token();
56 
58  igstkGetMacro( Identifier, IdentifierType );
59 
69  void Print(std::ostream& os, itk::Indent indent) const;
70 
71 protected:
72 
74  virtual void PrintSelf( std::ostream& os, ::itk::Indent indent ) const;
75 
76 private:
77 
79  IdentifierType m_Identifier;
80 
83  static IdentifierType m_IdentifierCounter;
84 
85 };
86 
87 std::ostream& operator<<(std::ostream& os, const Token& o);
88 
89 } // end namespace igstk
90 
91 
92 #endif