GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
load_path Class Reference

#include "load-path.h"

Collaboration diagram for load_path:
Collaboration graph
[legend]

Classes

class  dir_info
class  file_info

Public Types

typedef void(* hook_fcn_ptr )(const std::string &dir)

Public Member Functions

 ~load_path (void)

Static Public Member Functions

static void append (const std::string &dir, bool warn=false)
static void clear (void)
static bool contains_canonical (const std::string &dir_name)
static std::list< std::string > dir_list (void)
static string_vector dirs (void)
static void display (std::ostream &os)
static string_vector fcn_names (void)
static string_vector files (const std::string &dir, bool omit_exts=false)
static string_vector find_all_first_of (const string_vector &files)
static std::string find_dir (const std::string &dir)
static std::string find_fcn (const std::string &fcn, std::string &dir_name)
static std::string find_fcn (const std::string &fcn)
static std::string find_fcn_file (const std::string &fcn)
static std::string find_file (const std::string &file)
static std::string find_first_of (const string_vector &files)
static string_vector find_matching_dirs (const std::string &dir)
static std::string find_method (const std::string &class_name, const std::string &meth, std::string &dir_name)
static std::string find_method (const std::string &class_name, const std::string &meth)
static std::string find_mex_file (const std::string &fcn)
static std::string find_oct_file (const std::string &fcn)
static std::string find_private_fcn (const std::string &dir, const std::string &fcn)
static std::string get_command_line_path (void)
static void initialize (bool set_initial_path=false)
static std::list< std::string > methods (const std::string &class_name)
static std::list< std::string > overloads (const std::string &meth)
static std::string path (void)
static void prepend (const std::string &dir, bool warn=false)
static bool remove (const std::string &dir)
static void set (const std::string &p, bool warn=false)
static void set_add_hook (hook_fcn_ptr f)
static void set_command_line_path (const std::string &p)
static void set_remove_hook (hook_fcn_ptr f)
static std::string system_path (void)
static void update (void)

Protected Member Functions

 load_path (void)

Private Types

typedef
abs_dir_cache_type::iterator 
abs_dir_cache_iterator
typedef std::map< std::string,
dir_info
abs_dir_cache_type
typedef
abs_dir_cache_type::const_iterator 
const_abs_dir_cache_iterator
typedef
dir_info_list_type::const_iterator 
const_dir_info_list_iterator
typedef
fcn_map_type::const_iterator 
const_fcn_map_iterator
typedef
file_info_list_type::const_iterator 
const_file_info_list_iterator
typedef
method_map_type::const_iterator 
const_method_map_iterator
typedef
private_fcn_map_type::const_iterator 
const_private_fcn_map_iterator
typedef
dir_info_list_type::iterator 
dir_info_list_iterator
typedef std::list< dir_infodir_info_list_type
typedef fcn_map_type::iterator fcn_map_iterator
typedef std::map< std::string,
file_info_list_type
fcn_map_type
typedef
file_info_list_type::iterator 
file_info_list_iterator
typedef std::list< file_infofile_info_list_type
typedef method_map_type::iterator method_map_iterator
typedef std::map< std::string,
fcn_map_type
method_map_type
typedef
private_fcn_map_type::iterator 
private_fcn_map_iterator
typedef std::map< std::string,
dir_info::fcn_file_map_type
private_fcn_map_type

Private Member Functions

void add_to_fcn_map (const dir_info &di, bool at_end) const
void add_to_method_map (const dir_info &di, bool at_end) const
void add_to_private_fcn_map (const dir_info &di) const
bool contains (const std::string &dir) const
void do_add (const std::string &dir, bool at_end, bool warn)
void do_append (const std::string &dir, bool warn)
void do_clear (void)
bool do_contains_canonical (const std::string &dir) const
std::list< std::string > do_dir_list (void) const
string_vector do_dirs (void) const
void do_display (std::ostream &os) const
string_vector do_fcn_names (void) const
string_vector do_files (const std::string &dir, bool omit_exts) const
string_vector do_find_all_first_of (const string_vector &files) const
std::string do_find_dir (const std::string &dir) const
std::string do_find_fcn (const std::string &fcn, std::string &dir_name, int type=M_FILE|OCT_FILE|MEX_FILE) const
std::string do_find_file (const std::string &file) const
std::string do_find_first_of (const string_vector &files) const
string_vector do_find_matching_dirs (const std::string &dir) const
std::string do_find_method (const std::string &class_name, const std::string &meth, std::string &dir_name, int type=M_FILE|OCT_FILE|MEX_FILE) const
std::string do_find_private_fcn (const std::string &dir, const std::string &fcn, int type=M_FILE|OCT_FILE|MEX_FILE) const
std::string do_get_command_line_path (void) const
void do_initialize (bool set_initial_path)
std::list< std::string > do_methods (const std::string &class_name) const
std::list< std::string > do_overloads (const std::string &meth) const
std::string do_path (void) const
void do_prepend (const std::string &dir, bool warn)
bool do_remove (const std::string &dir)
void do_set (const std::string &p, bool warn, bool is_init=false)
std::string do_system_path (void) const
void do_update (void) const
const_dir_info_list_iterator find_dir_info (const std::string &dir) const
dir_info_list_iterator find_dir_info (const std::string &dir)
void move (std::list< dir_info >::iterator i, bool at_end)
void move_fcn_map (const std::string &dir, const string_vector &fcn_files, bool at_end)
void move_method_map (const std::string &dir, bool at_end)
void remove_fcn_map (const std::string &dir, const string_vector &fcn_files)
void remove_method_map (const std::string &dir)
void remove_private_fcn_map (const std::string &dir)

Static Private Member Functions

static bool check_file_type (std::string &fname, int type, int possible_types, const std::string &fcn, const char *who)
static void cleanup_instance (void)
static bool instance_ok (void)

Private Attributes

dir_info_list_type dir_info_list
fcn_map_type fcn_map
std::set< std::string > init_dirs
method_map_type method_map
private_fcn_map_type private_fcn_map

Static Private Attributes

static abs_dir_cache_type abs_dir_cache
static hook_fcn_ptr add_hook = execute_pkg_add
static std::string command_line_path
static load_pathinstance = 0
static const int M_FILE = 1
static const int MEX_FILE = 4
static const int OCT_FILE = 2
static hook_fcn_ptr remove_hook = execute_pkg_del
static std::string sys_path

Friends

dir_info::fcn_file_map_type get_fcn_files (const std::string &d)
string_vector get_file_list (const dir_info::fcn_file_map_type &lst)
void print_fcn_list (std::ostream &os, const dir_info::fcn_file_map_type &lst)
void print_types (std::ostream &os, int types)

Detailed Description

Definition at line 35 of file load-path.h.

Member Typedef Documentation

typedef abs_dir_cache_type::iterator load_path::abs_dir_cache_iterator
private

Definition at line 419 of file load-path.h.

typedef std::map<std::string, dir_info> load_path::abs_dir_cache_type
private

Definition at line 416 of file load-path.h.

typedef abs_dir_cache_type::const_iterator load_path::const_abs_dir_cache_iterator
private

Definition at line 418 of file load-path.h.

typedef dir_info_list_type::const_iterator load_path::const_dir_info_list_iterator
private

Definition at line 413 of file load-path.h.

typedef fcn_map_type::const_iterator load_path::const_fcn_map_iterator
private

Definition at line 429 of file load-path.h.

typedef file_info_list_type::const_iterator load_path::const_file_info_list_iterator
private

Definition at line 423 of file load-path.h.

typedef method_map_type::const_iterator load_path::const_method_map_iterator
private

Definition at line 442 of file load-path.h.

typedef private_fcn_map_type::const_iterator load_path::const_private_fcn_map_iterator
private

Definition at line 436 of file load-path.h.

typedef dir_info_list_type::iterator load_path::dir_info_list_iterator
private

Definition at line 414 of file load-path.h.

typedef std::list<dir_info> load_path::dir_info_list_type
private

Definition at line 411 of file load-path.h.

typedef fcn_map_type::iterator load_path::fcn_map_iterator
private

Definition at line 430 of file load-path.h.

typedef std::map<std::string, file_info_list_type> load_path::fcn_map_type
private

Definition at line 427 of file load-path.h.

typedef file_info_list_type::iterator load_path::file_info_list_iterator
private

Definition at line 424 of file load-path.h.

typedef std::list<file_info> load_path::file_info_list_type
private

Definition at line 421 of file load-path.h.

typedef void(* load_path::hook_fcn_ptr)(const std::string &dir)

Definition at line 47 of file load-path.h.

typedef method_map_type::iterator load_path::method_map_iterator
private

Definition at line 443 of file load-path.h.

typedef std::map<std::string, fcn_map_type> load_path::method_map_type
private

Definition at line 440 of file load-path.h.

typedef private_fcn_map_type::iterator load_path::private_fcn_map_iterator
private

Definition at line 437 of file load-path.h.

typedef std::map<std::string, dir_info::fcn_file_map_type> load_path::private_fcn_map_type
private

Definition at line 434 of file load-path.h.

Constructor & Destructor Documentation

load_path::load_path ( void  )
inlineprotected

Definition at line 41 of file load-path.h.

Referenced by instance_ok().

load_path::~load_path ( void  )
inline

Definition at line 49 of file load-path.h.

Member Function Documentation

void load_path::add_to_fcn_map ( const dir_info di,
bool  at_end 
) const
private
void load_path::add_to_method_map ( const dir_info di,
bool  at_end 
) const
private
void load_path::add_to_private_fcn_map ( const dir_info di) const
private
static void load_path::append ( const std::string &  dir,
bool  warn = false 
)
inlinestatic

Definition at line 69 of file load-path.h.

Referenced by Faddpath().

bool load_path::check_file_type ( std::string &  fname,
int  type,
int  possible_types,
const std::string &  fcn,
const char who 
)
staticprivate

Definition at line 896 of file load-path.cc.

References error(), M_FILE, MEX_FILE, and OCT_FILE.

Referenced by do_find_fcn(), do_find_method(), and do_find_private_fcn().

static void load_path::cleanup_instance ( void  )
inlinestaticprivate

Definition at line 457 of file load-path.h.

Referenced by instance_ok().

static void load_path::clear ( void  )
inlinestatic

Definition at line 57 of file load-path.h.

bool load_path::contains ( const std::string &  dir) const
private

Definition at line 351 of file load-path.cc.

References dir_info_list, and find_dir_info().

static bool load_path::contains_canonical ( const std::string &  dir_name)
inlinestatic

Definition at line 92 of file load-path.h.

Referenced by octave_qt_link::file_in_path().

static std::list<std::string> load_path::dir_list ( void  )
inlinestatic

Definition at line 203 of file load-path.h.

static string_vector load_path::dirs ( void  )
inlinestatic

Definition at line 198 of file load-path.h.

Referenced by do_path(), and Fpath().

static void load_path::display ( std::ostream &  os)
inlinestatic

Definition at line 225 of file load-path.h.

void load_path::do_add ( const std::string &  dir,
bool  at_end,
bool  warn 
)
private
void load_path::do_append ( const std::string &  dir,
bool  warn 
)
private

Definition at line 639 of file load-path.cc.

References do_add().

Referenced by do_set().

void load_path::do_clear ( void  )
private

Definition at line 544 of file load-path.cc.

References dir_info_list, fcn_map, method_map, and private_fcn_map.

Referenced by do_set().

bool load_path::do_contains_canonical ( const std::string &  dir) const
private

Definition at line 357 of file load-path.cc.

References dir_info_list, and same_file().

std::list< std::string > load_path::do_dir_list ( void  ) const
private

Definition at line 1475 of file load-path.cc.

References dir_info_list.

string_vector load_path::do_dirs ( void  ) const
private

Definition at line 1458 of file load-path.cc.

References dir_info_list.

void load_path::do_display ( std::ostream &  os) const
private
string_vector load_path::do_fcn_names ( void  ) const
private

Definition at line 1516 of file load-path.cc.

References fcn_map.

string_vector load_path::do_files ( const std::string &  dir,
bool  omit_exts 
) const
private

Definition at line 1488 of file load-path.cc.

References dir_info_list, find_dir_info(), if(), and Array< T >::length().

string_vector load_path::do_find_all_first_of ( const string_vector files) const
private
std::string load_path::do_find_dir ( const std::string &  dir) const
private
std::string load_path::do_find_fcn ( const std::string &  fcn,
std::string &  dir_name,
int  type = M_FILE | OCT_FILE | MEX_FILE 
) const
private
std::string load_path::do_find_file ( const std::string &  file) const
private
std::string load_path::do_find_first_of ( const string_vector files) const
private
string_vector load_path::do_find_matching_dirs ( const std::string &  dir) const
private
std::string load_path::do_find_method ( const std::string &  class_name,
const std::string &  meth,
std::string &  dir_name,
int  type = M_FILE | OCT_FILE | MEX_FILE 
) const
private
std::string load_path::do_find_private_fcn ( const std::string &  dir,
const std::string &  fcn,
int  type = M_FILE | OCT_FILE | MEX_FILE 
) const
private

Definition at line 1045 of file load-path.cc.

References check_file_type(), file_ops::concat(), concat(), and private_fcn_map.

std::string load_path::do_get_command_line_path ( void  ) const
inlineprivate

Definition at line 559 of file load-path.h.

References command_line_path.

void load_path::do_initialize ( bool  set_initial_path)
private
std::list< std::string > load_path::do_methods ( const std::string &  class_name) const
private

Definition at line 1123 of file load-path.cc.

References method_map.

std::list< std::string > load_path::do_overloads ( const std::string &  meth) const
private

Definition at line 1146 of file load-path.cc.

References method_map.

std::string load_path::do_path ( void  ) const
private

Definition at line 1533 of file load-path.cc.

References dirs(), Array< T >::length(), and dir_path::path_sep_str().

void load_path::do_prepend ( const std::string &  dir,
bool  warn 
)
private

Definition at line 646 of file load-path.cc.

References do_add().

Referenced by do_set().

bool load_path::do_remove ( const std::string &  dir)
private
void load_path::do_set ( const std::string &  p,
bool  warn,
bool  is_init = false 
)
private
std::string load_path::do_system_path ( void  ) const
inlineprivate

Definition at line 557 of file load-path.h.

void load_path::do_update ( void  ) const
private
static string_vector load_path::fcn_names ( void  )
inlinestatic

Definition at line 215 of file load-path.h.

Referenced by F__list_functions__(), and make_name_list().

static string_vector load_path::files ( const std::string &  dir,
bool  omit_exts = false 
)
inlinestatic

Definition at line 209 of file load-path.h.

Referenced by F__list_functions__().

static string_vector load_path::find_all_first_of ( const string_vector files)
inlinestatic

Definition at line 192 of file load-path.h.

Referenced by Ffile_in_loadpath().

static std::string load_path::find_dir ( const std::string &  dir)
inlinestatic

Definition at line 174 of file load-path.h.

Referenced by contents_file_in_path(), and Ffind_dir_in_path().

load_path::const_dir_info_list_iterator load_path::find_dir_info ( const std::string &  dir) const
private

Definition at line 315 of file load-path.cc.

References dir_info_list, and file_ops::tilde_expand().

Referenced by contains(), do_add(), do_files(), and do_remove().

load_path::dir_info_list_iterator load_path::find_dir_info ( const std::string &  dir)
private

Definition at line 333 of file load-path.cc.

References dir_info_list, and file_ops::tilde_expand().

static std::string load_path::find_fcn ( const std::string &  fcn,
std::string &  dir_name 
)
inlinestatic
static std::string load_path::find_fcn ( const std::string &  fcn)
inlinestatic

Definition at line 131 of file load-path.h.

static std::string load_path::find_fcn_file ( const std::string &  fcn)
inlinestatic

Definition at line 144 of file load-path.h.

Referenced by do_which(), and fcn_file_in_path().

static std::string load_path::find_file ( const std::string &  file)
inlinestatic
static std::string load_path::find_first_of ( const string_vector files)
inlinestatic

Definition at line 186 of file load-path.h.

Referenced by Ffile_in_loadpath().

static string_vector load_path::find_matching_dirs ( const std::string &  dir)
inlinestatic

Definition at line 180 of file load-path.h.

Referenced by Ffind_dir_in_path().

static std::string load_path::find_method ( const std::string &  class_name,
const std::string &  meth,
std::string &  dir_name 
)
inlinestatic
static std::string load_path::find_method ( const std::string &  class_name,
const std::string &  meth 
)
inlinestatic

Definition at line 106 of file load-path.h.

static std::string load_path::find_mex_file ( const std::string &  fcn)
inlinestatic

Definition at line 160 of file load-path.h.

Referenced by mex_file_in_path().

static std::string load_path::find_oct_file ( const std::string &  fcn)
inlinestatic

Definition at line 152 of file load-path.h.

Referenced by oct_file_in_path().

static std::string load_path::find_private_fcn ( const std::string &  dir,
const std::string &  fcn 
)
inlinestatic
static std::string load_path::get_command_line_path ( void  )
inlinestatic

Definition at line 243 of file load-path.h.

Referenced by Fcommand_line_path().

static void load_path::initialize ( bool  set_initial_path = false)
inlinestatic

Definition at line 51 of file load-path.h.

References set_initial_path.

Referenced by Frestoredefaultpath(), and octave_initialize_interpreter().

bool load_path::instance_ok ( void  )
staticprivate
static std::list<std::string> load_path::methods ( const std::string &  class_name)
inlinestatic

Definition at line 113 of file load-path.h.

Referenced by DEFUN().

void load_path::move ( std::list< dir_info >::iterator  i,
bool  at_end 
)
private
void load_path::move_fcn_map ( const std::string &  dir,
const string_vector fcn_files,
bool  at_end 
)
private

Definition at line 376 of file load-path.cc.

References fcn_map, fi, and Array< T >::length().

Referenced by move().

void load_path::move_method_map ( const std::string &  dir,
bool  at_end 
)
private

Definition at line 425 of file load-path.cc.

References concat(), fi, and method_map.

Referenced by move().

static std::list<std::string> load_path::overloads ( const std::string &  meth)
inlinestatic

Definition at line 119 of file load-path.h.

Referenced by make_fcn_handle().

static std::string load_path::path ( void  )
inlinestatic

Definition at line 220 of file load-path.h.

Referenced by Faddpath(), Fpath(), and Frmpath().

static void load_path::prepend ( const std::string &  dir,
bool  warn = false 
)
inlinestatic

Definition at line 75 of file load-path.h.

Referenced by Faddpath(), and octave_qt_link::file_in_path().

static bool load_path::remove ( const std::string &  dir)
inlinestatic

Definition at line 81 of file load-path.h.

Referenced by Frmpath().

void load_path::remove_fcn_map ( const std::string &  dir,
const string_vector fcn_files 
)
private

Definition at line 733 of file load-path.cc.

References fcn_map, and Array< T >::length().

Referenced by do_remove().

void load_path::remove_method_map ( const std::string &  dir)
private

Definition at line 782 of file load-path.cc.

References concat(), and method_map.

Referenced by do_remove().

void load_path::remove_private_fcn_map ( const std::string &  dir)
private

Definition at line 773 of file load-path.cc.

References private_fcn_map.

Referenced by do_remove().

static void load_path::set ( const std::string &  p,
bool  warn = false 
)
inlinestatic

Definition at line 63 of file load-path.h.

Referenced by Fpath().

static void load_path::set_add_hook ( hook_fcn_ptr  f)
inlinestatic

Definition at line 231 of file load-path.h.

References f.

static void load_path::set_command_line_path ( const std::string &  p)
inlinestatic

Definition at line 235 of file load-path.h.

References command_line_path, and dir_path::path_sep_str().

Referenced by octave_initialize_interpreter().

static void load_path::set_remove_hook ( hook_fcn_ptr  f)
inlinestatic

Definition at line 233 of file load-path.h.

References f.

static std::string load_path::system_path ( void  )
inlinestatic
static void load_path::update ( void  )
inlinestatic

Friends And Related Function Documentation

dir_info::fcn_file_map_type get_fcn_files ( const std::string &  d)
friend
string_vector get_file_list ( const dir_info::fcn_file_map_type lst)
friend

Definition at line 1595 of file load-path.cc.

Referenced by do_display(), and load_path::dir_info::initialize().

void print_fcn_list ( std::ostream &  os,
const dir_info::fcn_file_map_type lst 
)
friend

Definition at line 1579 of file load-path.cc.

Referenced by do_display().

void print_types ( std::ostream &  os,
int  types 
)
friend

Definition at line 1551 of file load-path.cc.

Referenced by do_display(), and print_fcn_list().

Member Data Documentation

load_path::abs_dir_cache_type load_path::abs_dir_cache
staticprivate

Definition at line 467 of file load-path.h.

Referenced by load_path::dir_info::initialize(), and load_path::dir_info::update().

load_path::hook_fcn_ptr load_path::add_hook = execute_pkg_add
staticprivate

Definition at line 459 of file load-path.h.

Referenced by do_add(), and do_set().

std::string load_path::command_line_path
staticprivate

Definition at line 463 of file load-path.h.

Referenced by do_initialize().

dir_info_list_type load_path::dir_info_list
mutableprivate
fcn_map_type load_path::fcn_map
mutableprivate
std::set<std::string> load_path::init_dirs
mutableprivate

Definition at line 453 of file load-path.h.

Referenced by do_set().

load_path * load_path::instance = 0
staticprivate

Definition at line 455 of file load-path.h.

Referenced by instance_ok().

const int load_path::M_FILE = 1
staticprivate

Definition at line 256 of file load-path.h.

Referenced by add_to_fcn_map(), check_file_type(), get_fcn_files(), and print_types().

method_map_type load_path::method_map
mutableprivate
const int load_path::MEX_FILE = 4
staticprivate
const int load_path::OCT_FILE = 2
staticprivate
private_fcn_map_type load_path::private_fcn_map
mutableprivate
load_path::hook_fcn_ptr load_path::remove_hook = execute_pkg_del
staticprivate

Definition at line 461 of file load-path.h.

Referenced by do_remove().

std::string load_path::sys_path
staticprivate

Definition at line 465 of file load-path.h.

Referenced by add_to_fcn_map(), and do_initialize().


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