diff --git a/src/info.cpp b/src/info.cpp index bb8380aa19d2dc8cb3eb8e17c40208e8a642d967..4166238e66dcb48b23cafb70530af018da509b2e 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -685,10 +685,11 @@ void Info::fix_styles(FILE * out) fprintf(out, "\nFix styles:\n"); vector<string> styles; -#define FIX_CLASS -#define FixStyle(key,Class) styles.push_back(#key); -#include "style_fix.h" -#undef FIX_CLASS + + for(Modify::FixCreatorMap::iterator it = modify->fix_map->begin(); it != modify->fix_map->end(); ++it) { + styles.push_back(it->first); + } + print_columns(out, styles); fprintf(out, "\n\n\n"); } @@ -698,10 +699,11 @@ void Info::compute_styles(FILE * out) fprintf(out, "\nCompute styles:\n"); vector<string> styles; -#define COMPUTE_CLASS -#define ComputeStyle(key,Class) styles.push_back(#key); -#include "style_compute.h" -#undef COMPUTE_CLASS + + for(Modify::ComputeCreatorMap::iterator it = modify->compute_map->begin(); it != modify->compute_map->end(); ++it) { + styles.push_back(it->first); + } + print_columns(out, styles); fprintf(out, "\n\n\n"); } @@ -737,9 +739,11 @@ void Info::command_styles(FILE * out) fprintf(out, "\nCommand styles (add-on input script commands):\n"); vector<string> styles; + for(Input::CommandCreatorMap::iterator it = input->command_map->begin(); it != input->command_map->end(); ++it) { styles.push_back(it->first); } + print_columns(out, styles); fprintf(out, "\n\n\n"); } diff --git a/src/modify.cpp b/src/modify.cpp index 219c233f2b7d73e29384d509ca2de0feeb7d70c3..dea0d9dc08c8c8623cf8c6dea4f3ca9f0bda2e4c 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -28,8 +28,6 @@ #include "memory.h" #include "error.h" -#include <map> - using namespace LAMMPS_NS; using namespace FixConst; @@ -80,7 +78,7 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp) // fill map with fixes listed in style_fix.h - fix_map = new std::map<std::string,FixCreator>(); + fix_map = new FixCreatorMap(); #define FIX_CLASS #define FixStyle(key,Class) \ @@ -91,7 +89,7 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp) // fill map with computes listed in style_compute.h - compute_map = new std::map<std::string,ComputeCreator>(); + compute_map = new ComputeCreatorMap(); #define COMPUTE_CLASS #define ComputeStyle(key,Class) \ diff --git a/src/modify.h b/src/modify.h index 934ceb13dc4909bf18dc775dec630667c496ec82..6472c9bf6a714dc1fe69bd301d527e6b20881ba5 100644 --- a/src/modify.h +++ b/src/modify.h @@ -149,13 +149,16 @@ class Modify : protected Pointers { void list_init_dofflag(int &, int *&); void list_init_compute(); - protected: + public: typedef Compute *(*ComputeCreator)(LAMMPS *, int, char **); - std::map<std::string,ComputeCreator> *compute_map; + typedef std::map<std::string,ComputeCreator> ComputeCreatorMap; + ComputeCreatorMap *compute_map; typedef Fix *(*FixCreator)(LAMMPS *, int, char **); - std::map<std::string,FixCreator> *fix_map; + typedef std::map<std::string,FixCreator> FixCreatorMap; + FixCreatorMap *fix_map; + protected: template <typename T> static Compute *compute_creator(LAMMPS *, int, char **); template <typename T> static Fix *fix_creator(LAMMPS *, int, char **); };