From 00b08bb5e1fe80d6ab5d953f29f01d2cc73c9867 Mon Sep 17 00:00:00 2001 From: Richard Berger <richard.berger@temple.edu> Date: Wed, 7 Sep 2016 16:37:10 -0400 Subject: [PATCH] Use compute_map and fix_map to list compute and fix styles --- src/info.cpp | 20 ++++++++++++-------- src/modify.cpp | 6 ++---- src/modify.h | 9 ++++++--- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/info.cpp b/src/info.cpp index bb8380aa19..4166238e66 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 219c233f2b..dea0d9dc08 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 934ceb13dc..6472c9bf6a 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 **); }; -- GitLab