| 44 |  | #include <string> | 
| 45 |  | #include <map> | 
| 46 |  | #include "brains/SimInfo.hpp" | 
| 47 | < | #include "utils/BitSet.hpp" | 
| 47 | > | #include "utils/OOPSEBitSet.hpp" | 
| 48 |  | namespace oopse { | 
| 49 |  |  | 
| 50 | < | class TreeNode{ | 
| 51 | < | public: | 
| 52 | < | ~TreeNode(); | 
| 53 | < | std::string name; | 
| 54 | < | BitSet bs; | 
| 55 | < | std::map<std::string, TreeNode*> children; | 
| 56 | < | }; | 
| 50 | > | class TreeNode{ | 
| 51 | > | public: | 
| 52 | > | ~TreeNode(); | 
| 53 | > | std::string name; | 
| 54 | > | OOPSEBitSet bs; | 
| 55 | > | std::map<std::string, TreeNode*> children; | 
| 56 | > | }; | 
| 57 |  |  | 
| 58 | < | class NameFinder{ | 
| 59 | < | public: | 
| 60 | < | NameFinder(SimInfo* info); | 
| 61 | < | ~NameFinder(); | 
| 62 | < | BitSet  match(const std::string& name); | 
| 58 | > | class NameFinder{ | 
| 59 | > | public: | 
| 60 | > | NameFinder(SimInfo* info); | 
| 61 | > | ~NameFinder(); | 
| 62 | > | OOPSEBitSet  match(const std::string& name); | 
| 63 |  |  | 
| 64 | < | private: | 
| 65 | < | void loadNames(); | 
| 66 | < | void matchMolecule(const std::string& molName, BitSet& bs); | 
| 67 | < | void matchStuntDouble(const std::string& molName, const std::string& sdName, BitSet& bs); | 
| 68 | < | void matchRigidAtoms(const std::string& molName, const std::string& rbName, const std::string& rbAtomName, BitSet& bs); | 
| 64 | > | private: | 
| 65 | > | void loadNames(); | 
| 66 | > | void matchMolecule(const std::string& molName, OOPSEBitSet& bs); | 
| 67 | > | void matchStuntDouble(const std::string& molName, const std::string& sdName, OOPSEBitSet& bs); | 
| 68 | > | void matchRigidAtoms(const std::string& molName, const std::string& rbName, const std::string& rbAtomName, OOPSEBitSet& bs); | 
| 69 |  |  | 
| 70 | < | void matchInternalIndex(const std::string& name, int internalIndex, BitSet& bs); | 
| 70 | > | void matchInternalIndex(const std::string& name, int internalIndex, OOPSEBitSet& bs); | 
| 71 |  |  | 
| 72 | < | TreeNode* createNode(TreeNode* parent, const std::string& name); | 
| 73 | < | std::vector<TreeNode*> getMatchedChildren(TreeNode* node, const std::string& name); | 
| 74 | < | bool isMatched(const std::string& str, const std::string& wildcard); | 
| 72 | > | TreeNode* createNode(TreeNode* parent, const std::string& name); | 
| 73 | > | std::vector<TreeNode*> getMatchedChildren(TreeNode* node, const std::string& name); | 
| 74 | > | bool isMatched(const std::string& str, const std::string& wildcard); | 
| 75 |  |  | 
| 76 | < | bool isInteger(const std::string str); | 
| 76 | > | bool isInteger(const std::string str); | 
| 77 |  |  | 
| 78 | < | SimInfo* info_; | 
| 79 | < | int nStuntDouble_; | 
| 80 | < | TreeNode* root_; | 
| 81 | < | }; | 
| 78 | > | SimInfo* info_; | 
| 79 | > | int nStuntDouble_; | 
| 80 | > | TreeNode* root_; | 
| 81 | > | }; | 
| 82 |  |  | 
| 83 |  |  | 
| 84 |  | } |