Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library > Class Template Reference

forward declaration for core::fragment::picking_old::concepts::Librarian More...

#include <Librarian.hh>

Public Types

typedef core::Size Size
 
typedef Library::BookIterator BookIterator
 
typedef Library::BookConstIterator BookConstIterator
 
typedef Library::Book Book
 
typedef Book::PageConstIterator PageConstIterator
 
typedef Book::PageIterator PageIterator
 
typedef Book::Page Page
 
typedef ExtentGenerator::Extent Extent
 
typedef
utility::pointer::shared_ptr
< ExtentEvaluator > 
ExtentEvalOP
 
typedef
utility::pointer::shared_ptr
< ExtentEvaluator const > 
ExtentEvalCOP
 
typedef
utility::pointer::shared_ptr
< ExtentGenerator > 
ExtentGenOP
 
typedef
utility::pointer::shared_ptr
< ExtentGenerator const > 
ExtentGenCOP
 
typedef utility::vector1
< Bookmark > 
Bookmarks
 
typedef Bookmarks::const_iterator BookmarkConstIterator
 
typedef Bookmarks::iterator BookmarkIterator
 

Public Member Functions

 Librarian ()
 default constructor More...
 
virtual ~Librarian ()
 default destructor More...
 
bool catalog (Library const &library)
 create sorted list corresponding to fragments in Library More...
 
template<typename LessThan >
bool catalog (Library const &library, LessThan const &lt)
 create sorted list corresponding to fragments in Library More...
 
void add_extent_gen (ExtentGenCOP const &gen)
 add an extent generator More...
 
void clear_extent_gen ()
 clear list of generators More...
 
void add_extent_eval (ExtentEvalCOP val)
 add extent evaluator More...
 
void clear_extent_eval ()
 clear list of evaluators More...
 

Protected Types

typedef utility::vector1
< ExtentGenOP
ExtentGenOPs
 
typedef utility::vector1
< ExtentEvalOP
ExtentEvalOPs
 

Protected Member Functions

bool evaluate_extent (Extent const &extent, Bookmark &mark)
 evaluate a fragment starting from Page at iterator More...
 
Bookmarks const & bookmarks () const
 get the current bookmark heap More...
 
Bookmarksbookmarks ()
 get the current bookmark heap More...
 
ExtentGenOPs const & extent_gen () const
 the list of extent generators More...
 
ExtentGenOPsextent_gen ()
 the list of extent generators More...
 
ExtentEvalOPs const & extent_eval () const
 the list of extent evaluators More...
 
ExtentEvalOPsextent_eval ()
 the list of extent evaluators More...
 

Private Member Functions

 Librarian (Librarian const &rval)
 disallow copy constructor More...
 
Librarianoperator= (Librarian const &rval)
 disallow copy assignment More...
 

Private Attributes

Bookmarks bookmarks_
 heap of bookmarks More...
 
ExtentGenOPs egen_
 generators for page extents More...
 
ExtentEvalOPs eeval_
 list of page extent evaluators More...
 

Detailed Description

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
class core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >

forward declaration for core::fragment::picking_old::concepts::Librarian

Librarian template for sorting through and extracting desired fragments.

Member Typedef Documentation

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Library::Book core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Book
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Library::BookConstIterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::BookConstIterator
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Library::BookIterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::BookIterator
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Bookmarks::const_iterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::BookmarkConstIterator
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Bookmarks::iterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::BookmarkIterator
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::vector1< Bookmark > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Bookmarks
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef ExtentGenerator::Extent core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Extent
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::pointer::shared_ptr< ExtentEvaluator const > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::ExtentEvalCOP
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::pointer::shared_ptr< ExtentEvaluator > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::ExtentEvalOP
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::vector1< ExtentEvalOP > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::ExtentEvalOPs
protected
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::pointer::shared_ptr< ExtentGenerator const > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::ExtentGenCOP
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::pointer::shared_ptr< ExtentGenerator > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::ExtentGenOP
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef utility::vector1< ExtentGenOP > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::ExtentGenOPs
protected
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Book::Page core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Page
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Book::PageConstIterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::PageConstIterator
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef Book::PageIterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::PageIterator
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
typedef core::Size core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Size

Constructor & Destructor Documentation

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Librarian ( )
inline

default constructor

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
virtual core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::~Librarian ( )
inlinevirtual

default destructor

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Librarian ( Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library > const &  rval)
private

disallow copy constructor

Member Function Documentation

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
void core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::add_extent_eval ( ExtentEvalCOP  val)
inline

add extent evaluator

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
void core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::add_extent_gen ( ExtentGenCOP const &  gen)
inline

add an extent generator

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
Bookmarks const& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::bookmarks ( ) const
inlineprotected

get the current bookmark heap

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
Bookmarks& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::bookmarks ( )
inlineprotected

get the current bookmark heap

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
bool core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::catalog ( Library const &  library)
inline

create sorted list corresponding to fragments in Library

uses Bookmark < for evaluation

Returns
true if creation successful, false otherwise (e.g. no ExtentEvaluators or ExtentGenerators found)

Referenced by core::fragment::picking_old::concepts::Librarian< scores::VallFragmentScore, eval::VallFragmentEval, gen::VallFragmentGen, VallLibrary >::catalog().

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
template<typename LessThan >
bool core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::catalog ( Library const &  library,
LessThan const &  lt 
)
inline

create sorted list corresponding to fragments in Library

Template Parameters
LessThanpredicate Pr( left, right ) evaluating left < right for Bookmarks
Returns
true if creation successful, false otherwise (e.g. no ExtentEvaluators or ExtentGenerators found)
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
void core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::clear_extent_eval ( )
inline

clear list of evaluators

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
void core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::clear_extent_gen ( )
inline

clear list of generators

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
bool core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::evaluate_extent ( Extent const &  extent,
Bookmark &  mark 
)
inlineprotected

evaluate a fragment starting from Page at iterator

Returns
Bookmark containing scores for fragment
Remarks
at least one helper needs to score the fragment extent

Referenced by core::fragment::picking_old::concepts::Librarian< scores::VallFragmentScore, eval::VallFragmentEval, gen::VallFragmentGen, VallLibrary >::catalog().

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
ExtentEvalOPs const& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::extent_eval ( ) const
inlineprotected

the list of extent evaluators

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
ExtentEvalOPs& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::extent_eval ( )
inlineprotected

the list of extent evaluators

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
ExtentGenOPs const& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::extent_gen ( ) const
inlineprotected

the list of extent generators

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
ExtentGenOPs& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::extent_gen ( )
inlineprotected

the list of extent generators

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
Librarian& core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::operator= ( Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library > const &  rval)
private

disallow copy assignment

Member Data Documentation

template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
Bookmarks core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::bookmarks_
private
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
ExtentEvalOPs core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::eeval_
private
template<typename Bookmark, typename ExtentEvaluator, typename ExtentGenerator, typename Library>
ExtentGenOPs core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::egen_
private

The documentation for this class was generated from the following files: