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

load_path Class Reference

#include "load-path.h"

Collaboration diagram for load_path:
Collaboration graph
[legend]

List of all members.

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 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)
static std::string find_method (const std::string &class_name, const std::string &meth, std::string &dir_name)
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)
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)
std::string do_system_path (void) const
void do_update (void) const
dir_info_list_iterator find_dir_info (const std::string &dir)
const_dir_info_list_iterator find_dir_info (const std::string &dir) const
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
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 411 of file load-path.h.

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

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

typedef abs_dir_cache_type::const_iterator load_path::const_abs_dir_cache_iterator [private]

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

typedef dir_info_list_type::const_iterator load_path::const_dir_info_list_iterator [private]

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

typedef fcn_map_type::const_iterator load_path::const_fcn_map_iterator [private]

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

typedef file_info_list_type::const_iterator load_path::const_file_info_list_iterator [private]

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

typedef method_map_type::const_iterator load_path::const_method_map_iterator [private]

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

typedef private_fcn_map_type::const_iterator load_path::const_private_fcn_map_iterator [private]

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

typedef dir_info_list_type::iterator load_path::dir_info_list_iterator [private]

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

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

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

typedef fcn_map_type::iterator load_path::fcn_map_iterator [private]

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

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

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

typedef file_info_list_type::iterator load_path::file_info_list_iterator [private]

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

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

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

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

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

typedef method_map_type::iterator load_path::method_map_iterator [private]

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

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

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

typedef private_fcn_map_type::iterator load_path::private_fcn_map_iterator [private]

Definition at line 428 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 425 of file load-path.h.


Constructor & Destructor Documentation

load_path::load_path ( void   )  [inline, protected]

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

Referenced by instance_ok().

load_path::~load_path ( void   )  [inline]

Definition at line 48 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 
) [inline, static]

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

Referenced by DEFUN().

bool load_path::check_file_type ( std::string &  fname,
int  type,
int  possible_types,
const std::string &  fcn,
const char who 
) [static, private]

Definition at line 860 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   )  [inline, static, private]

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

Referenced by instance_ok().

static void load_path::clear ( void   )  [inline, static]

Definition at line 56 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 std::list<std::string> load_path::dir_list ( void   )  [inline, static]

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

static string_vector load_path::dirs ( void   )  [inline, static]

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

Referenced by DEFUN(), and do_path().

static void load_path::display ( std::ostream &  os  )  [inline, static]

Definition at line 218 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 602 of file load-path.cc.

References do_add().

Referenced by do_set().

void load_path::do_clear ( void   )  [private]

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

References dir_info_list, fcn_map, method_map, and private_fcn_map.

Referenced by do_set().

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

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

References dir_info_list.

string_vector load_path::do_dirs ( void   )  const [private]

Definition at line 1423 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 1481 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 1453 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 1009 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 [inline, private]

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

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 1087 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 1110 of file load-path.cc.

References method_map.

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

Definition at line 1498 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 609 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 
) [private]
std::string load_path::do_system_path ( void   )  const [inline, private]

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

void load_path::do_update ( void   )  const [private]
static string_vector load_path::fcn_names ( void   )  [inline, static]

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

Referenced by DEFUN(), and make_name_list().

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

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

Referenced by DEFUN().

static string_vector load_path::find_all_first_of ( const string_vector files  )  [inline, static]

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

Referenced by DEFUN().

static std::string load_path::find_dir ( const std::string &  dir  )  [inline, static]

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

Referenced by contents_file_in_path(), and DEFUN().

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

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

static std::string load_path::find_fcn ( const std::string &  fcn,
std::string &  dir_name 
) [inline, static]
static std::string load_path::find_fcn ( const std::string &  fcn  )  [inline, static]

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

static std::string load_path::find_fcn_file ( const std::string &  fcn  )  [inline, static]

Definition at line 137 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  )  [inline, static]

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

Referenced by DEFUN_DLD(), do_stream_open(), do_which(), file_in_path(), and find_file_to_load().

static std::string load_path::find_first_of ( const string_vector files  )  [inline, static]

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

Referenced by DEFUN().

static string_vector load_path::find_matching_dirs ( const std::string &  dir  )  [inline, static]

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

Referenced by DEFUN().

static std::string load_path::find_method ( const std::string &  class_name,
const std::string &  meth 
) [inline, static]

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

static std::string load_path::find_method ( const std::string &  class_name,
const std::string &  meth,
std::string &  dir_name 
) [inline, static]
static std::string load_path::find_mex_file ( const std::string &  fcn  )  [inline, static]

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

Referenced by mex_file_in_path().

static std::string load_path::find_oct_file ( const std::string &  fcn  )  [inline, static]

Definition at line 145 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 
) [inline, static]
static std::string load_path::get_command_line_path ( void   )  [inline, static]

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

Referenced by DEFUN().

static void load_path::initialize ( bool  set_initial_path = false  )  [inline, static]

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

References set_initial_path.

Referenced by DEFUN(), and octave_main().

bool load_path::instance_ok ( void   )  [static, private]
static std::list<std::string> load_path::methods ( const std::string &  class_name  )  [inline, static]

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

Referenced by DEFUN().

void load_path::move ( std::list< dir_info >::iterator  i,
bool  at_end 
) [private]

Referenced by do_add().

void load_path::move_fcn_map ( const std::string &  dir,
const string_vector fcn_files,
bool  at_end 
) [private]

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

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

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

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

References concat(), fi, and method_map.

static std::list<std::string> load_path::overloads ( const std::string &  meth  )  [inline, static]

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

Referenced by make_fcn_handle().

static std::string load_path::path ( void   )  [inline, static]

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

Referenced by DEFUN().

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

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

Referenced by DEFUN().

static bool load_path::remove ( const std::string &  dir  )  [inline, static]

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

Referenced by DEFUN().

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

Definition at line 696 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 745 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 736 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 
) [inline, static]

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

Referenced by DEFUN().

static void load_path::set_add_hook ( hook_fcn_ptr  f  )  [inline, static]

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

static void load_path::set_command_line_path ( const std::string &  p  )  [inline, static]

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

References dir_path::path_sep_str().

Referenced by octave_main().

static void load_path::set_remove_hook ( hook_fcn_ptr  f  )  [inline, static]

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

static std::string load_path::system_path ( void   )  [inline, static]

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

Referenced by DEFUN(), read_mat5_binary_element(), and octave_fcn_handle::set_fcn().

static void load_path::update ( void   )  [inline, static]

Friends And Related Function Documentation

dir_info::fcn_file_map_type get_fcn_files ( const std::string &  d  )  [friend]

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

string_vector get_file_list ( const dir_info::fcn_file_map_type lst  )  [friend]

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

Referenced by do_display().

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

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

Referenced by do_display().

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

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

Referenced by do_display().


Member Data Documentation

Definition at line 456 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 [static, private]

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

Referenced by do_add(), and do_set().

std::string load_path::command_line_path [static, private]

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

Referenced by do_initialize().

fcn_map_type load_path::fcn_map [mutable, private]
load_path * load_path::instance = 0 [static, private]

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

Referenced by instance_ok().

const int load_path::M_FILE = 1 [static, private]

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

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

const int load_path::MEX_FILE = 4 [static, private]
const int load_path::OCT_FILE = 2 [static, private]
load_path::hook_fcn_ptr load_path::remove_hook = execute_pkg_del [static, private]

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

Referenced by do_remove().

std::string load_path::sys_path [static, private]

Definition at line 454 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:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines