VTK
vtkInformationVariantVectorKey.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInformationVariantVectorKey.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
25 #ifndef vtkInformationVariantVectorKey_h
26 #define vtkInformationVariantVectorKey_h
27 
28 #include "vtkCommonCoreModule.h" // For export macro
29 #include "vtkInformationKey.h"
30 
31 #include "vtkCommonInformationKeyManager.h" // Manage instances of this type.
32 
33 class vtkVariant;
34 
36 {
37 public:
39  void PrintSelf(ostream& os, vtkIndent indent);
40 
41  vtkInformationVariantVectorKey(const char* name, const char* location,
42  int length=-1);
44 
46 
49  static vtkInformationVariantVectorKey* MakeKey(const char* name, const char* location,
50  int length=-1)
51  {
52  return new vtkInformationVariantVectorKey(name, location, length);
53  }
55 
57 
59  void Append(vtkInformation* info, const vtkVariant& value);
60  void Set(vtkInformation* info, const vtkVariant* value, int length);
61  const vtkVariant* Get(vtkInformation* info) const;
62  const vtkVariant& Get(vtkInformation* info, int idx) const;
63  void Get(vtkInformation* info, vtkVariant* value) const;
64  int Length(vtkInformation* info) const;
66 
70  virtual void ShallowCopy(vtkInformation* from, vtkInformation* to);
71 
73  virtual void Print(ostream& os, vtkInformation* info);
74 
75 protected:
76  // The required length of the vector value (-1 is no restriction).
78 
79 private:
81  void operator=(const vtkInformationVariantVectorKey&); // Not implemented.
82 };
83 
84 #endif
virtual void ShallowCopy(vtkInformation *from, vtkInformation *to)=0
Store vtkAlgorithm input/output information.
#define VTKCOMMONCORE_EXPORT
void PrintSelf(ostream &os, vtkIndent indent)
A atomic type representing the union of many types.
Definition: vtkVariant.h:78
void Print(vtkInformation *info)
Superclass for vtkInformation keys.
a simple class to control print indentation
Definition: vtkIndent.h:38
static vtkInformationVariantVectorKey * MakeKey(const char *name, const char *location, int length=-1)