Commit 00b08bb5 authored by Richard Berger's avatar Richard Berger
Browse files

Use compute_map and fix_map to list compute and fix styles

parent e483cb9e
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -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");
}
+2 −4
Original line number Diff line number Diff line
@@ -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) \
+6 −3
Original line number Diff line number Diff line
@@ -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 **);
};