Classes | |
class | ESBTL::PDB_line_selector |
class | ESBTL::PDB_line_selector_two_systems |
class | ESBTL::PDB_line_selector_chain |
class | ESBTL::Generic_line_selector< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 > |
This module gathers all objects provided to select lines of a molecular data file to create systems. Such an object must be a class of the following type:
struct Line_selector_concept{ //returns the index (1...n) of the system in which that line matches: // RMK stands for remark (including MODEL), while DISCARD indicate that the line should be discarded. template <class Line_format,class Occupancy_handler> int keep(const Line_format& line_format,const std::string& line,Occupancy_handler& occupancy) { ... } unsigned max_nb_systems() const {return 1;} };
In function keep the template parameters are:
Line_format
is a helper class to read a molecular data file (such as ESBTL::PDB::Line_format).Occupancy_handler
is a class following the concept of Occupancy policies. To benefit from the occupancy policy, you should use the function Occupancy_handler::add_or_postpone(line_format,line,index_of_system) to return the index of the system the line must inserted in.