Panda3D
interrogateMakeSeq.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file interrogateMakeSeq.h
10  * @author drose
11  * @date 2009-09-15
12  */
13 
14 #ifndef INTERROGATEMAKESEQ_H
15 #define INTERROGATEMAKESEQ_H
16 
17 #include "dtoolbase.h"
18 
19 #include "interrogateComponent.h"
20 
21 class IndexRemapper;
22 
23 /**
24  * Represents a synthetic method created via the MAKE_SEQ() macro.
25  */
26 class EXPCL_INTERROGATEDB InterrogateMakeSeq : public InterrogateComponent {
27 public:
28  INLINE InterrogateMakeSeq(InterrogateModuleDef *def = nullptr);
29  INLINE InterrogateMakeSeq(const InterrogateMakeSeq &copy);
30  INLINE void operator = (const InterrogateMakeSeq &copy);
31 
32  INLINE bool has_scoped_name() const;
33  INLINE const std::string &get_scoped_name() const;
34 
35  INLINE bool has_comment() const;
36  INLINE const std::string &get_comment() const;
37 
38  INLINE FunctionIndex get_length_getter() const;
39  INLINE FunctionIndex get_element_getter() const;
40 
41  void output(std::ostream &out) const;
42  void input(std::istream &in);
43 
44  void remap_indices(const IndexRemapper &remap);
45 
46 private:
47  std::string _scoped_name;
48  std::string _comment;
49  FunctionIndex _length_getter;
50  FunctionIndex _element_getter;
51 
52  friend class InterrogateBuilder;
53 };
54 
55 INLINE std::ostream &operator << (std::ostream &out, const InterrogateMakeSeq &make_seq);
56 INLINE std::istream &operator >> (std::istream &in, InterrogateMakeSeq &make_seq);
57 
58 #include "interrogateMakeSeq.I"
59 
60 #endif
This class manages a mapping of integers to integers.
Definition: indexRemapper.h:29
Represents a synthetic method created via the MAKE_SEQ() macro.
void output(std::ostream &out) const
Formats the component for output to a data file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The base class for things that are part of the interrogate database.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void input(std::istream &in)
Reads the data file as previously formatted by output().
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.