Rosetta
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< ExtentGenOPExtentGenOPs
 
typedef utility::vector1< ExtentEvalOPExtentEvalOPs
 

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

◆ Book

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

◆ BookConstIterator

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

◆ BookIterator

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

◆ BookmarkConstIterator

template<typename Bookmark , typename ExtentEvaluator , typename ExtentGenerator , typename Library >
typedef Bookmarks::const_iterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::BookmarkConstIterator

◆ BookmarkIterator

template<typename Bookmark , typename ExtentEvaluator , typename ExtentGenerator , typename Library >
typedef Bookmarks::iterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::BookmarkIterator

◆ Bookmarks

template<typename Bookmark , typename ExtentEvaluator , typename ExtentGenerator , typename Library >
typedef utility::vector1< Bookmark > core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Bookmarks

◆ Extent

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

◆ ExtentEvalCOP

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

◆ ExtentEvalOP

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

◆ ExtentEvalOPs

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

◆ ExtentGenCOP

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

◆ ExtentGenOP

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

◆ ExtentGenOPs

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

◆ Page

template<typename Bookmark , typename ExtentEvaluator , typename ExtentGenerator , typename Library >
typedef Book::Page core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::Page

◆ PageConstIterator

template<typename Bookmark , typename ExtentEvaluator , typename ExtentGenerator , typename Library >
typedef Book::PageConstIterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::PageConstIterator

◆ PageIterator

template<typename Bookmark , typename ExtentEvaluator , typename ExtentGenerator , typename Library >
typedef Book::PageIterator core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::PageIterator

◆ Size

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

◆ Librarian() [1/2]

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

default constructor

◆ ~Librarian()

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

default destructor

◆ Librarian() [2/2]

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

◆ add_extent_eval()

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_gen()

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

◆ bookmarks() [1/2]

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

◆ bookmarks() [2/2]

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

◆ catalog() [1/2]

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)

◆ catalog() [2/2]

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

◆ clear_extent_eval()

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_extent_gen()

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

◆ evaluate_extent()

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

References core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::eeval_.

Referenced by core::fragment::picking_old::concepts::Librarian< Bookmark, ExtentEvaluator, ExtentGenerator, Library >::catalog().

◆ extent_eval() [1/2]

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

◆ extent_eval() [2/2]

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

◆ extent_gen() [1/2]

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

◆ extent_gen() [2/2]

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

◆ operator=()

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

◆ bookmarks_

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

◆ eeval_

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

◆ egen_

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: