Panda3D
Loading...
Searching...
No Matches
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
20
21class IndexRemapper;
22
23/**
24 * Represents a synthetic method created via the MAKE_SEQ() macro.
25 */
26class EXPCL_INTERROGATEDB InterrogateMakeSeq : public InterrogateComponent {
27public:
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
46private:
47 std::string _scoped_name;
48 std::string _comment;
49 FunctionIndex _length_getter;
50 FunctionIndex _element_getter;
51
52 friend class InterrogateBuilder;
53};
54
55INLINE std::ostream &operator << (std::ostream &out, const InterrogateMakeSeq &make_seq);
56INLINE 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.
void input(std::istream &in)
Reads the data file as previously formatted by output().
void output(std::ostream &out) const
Formats the component for output to a data file.
Represents a synthetic method created via the MAKE_SEQ() macro.
void remap_indices(const IndexRemapper &remap)
Remaps all internal index numbers according to the indicated map.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.