/* * ParticleTypeCheckers.hpp * * Created on: Nov 28, 2012 * Author: heber */ #ifndef PARTICLETYPECHECKERS_HPP_ #define PARTICLETYPECHECKERS_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include "FunctionApproximation/FunctionModel.hpp" #include "Potentials/SerializablePotential.hpp" namespace ParticleTypeChecker { /** Checks whether two given vectors of particle types are exactly the same. * * @param args first vector of types * @param types second vector of types * @return true - both vectors are the same. */ bool checkArgumentsAgainstParticleTypesStrictOrdering( const FunctionModel::arguments_t &args, const SerializablePotential::ParticleTypes_t &types ); /** Checks whether two given vectors of particle types are the same with * permutations allowed. * * @param args first vector of types * @param types second vector of types * @return true - both vectors are the same, might be permuted though */ bool checkArgumentsAgainstParticleTypes( const FunctionModel::arguments_t &args, const SerializablePotential::ParticleTypes_t &types ); }; /* namespace ParticleTypeChecker */ #endif /* PARTICLETYPECHECKERS_HPP_ */