summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/dir_nav/dir_nav_kernel_abstract.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/dir_nav/dir_nav_kernel_abstract.h')
-rw-r--r--ml/dlib/dlib/dir_nav/dir_nav_kernel_abstract.h515
1 files changed, 0 insertions, 515 deletions
diff --git a/ml/dlib/dlib/dir_nav/dir_nav_kernel_abstract.h b/ml/dlib/dlib/dir_nav/dir_nav_kernel_abstract.h
deleted file mode 100644
index 53254ee03..000000000
--- a/ml/dlib/dlib/dir_nav/dir_nav_kernel_abstract.h
+++ /dev/null
@@ -1,515 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_DIR_NAV_KERNEl_ABSTRACT_
-#ifdef DLIB_DIR_NAV_KERNEl_ABSTRACT_
-
-#include <string>
-#include <vector>
-#include "../uintn.h"
-#include "../algs.h"
-#include <chrono>
-
-namespace dlib
-{
-
-// ----------------------------------------------------------------------------------------
-
- /*!
- GENERAL WARNING
- Don't call any of these functions or make any of these objects
- before main() has been entered. That means no instances
- of file or directory at the global scope.
- !*/
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename queue_of_dir
- >
- void get_filesystem_roots (
- queue_of_dir& roots
- );
- /*!
- requires
- - queue_of_dirs == an implementation of queue/queue_kernel_abstract.h with T
- set to directory or a std::vector<directory> or dlib::std_vector_c<directory>.
- ensures
- - #roots == a queue containing directories that represent all the roots
- of the filesystem on this machine. (e.g. in windows you have c:\, d:\
- etc.)
- throws
- - std::bad_alloc
- !*/
-
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
- // file object
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
-
- class file
- {
- /*!
- WHAT THIS OBJECT REPRESENTS
- This object represents a file.
-
- Note that the size of a file is determined at the time the file
- object is constructed. Thus if a file changes sizes after its
- file object has been created its file object's size() method
- will not reflect the new file size.
- !*/
-
- public:
-
- class file_not_found : public error {};
-
- file (
- );
- /*!
- ensures
- - #*this has been properly initialized
- - #name() == ""
- - #full_name() == ""
- - #size() == 0
- - #*this does not represent any file
- throws
- - std::bad_alloc
- !*/
-
- file (
- const std::string& name
- );
- /*!
- ensures
- - #*this has been properly initialized
- - #*this represents the file given by name
- Note that name can be a fully qualified path or just a path
- relative to the current working directory. Also, any symbolic
- links in name will be resolved.
- throws
- - std::bad_alloc
- - file_not_found
- This exception is thrown if the file can not be found or
- accessed.
- !*/
-
- file (
- const char* name
- );
- /*!
- ensures
- - this function is identical to file(const std::string& name)
- !*/
-
- file (
- const file& item
- );
- /*!
- ensures
- - #*this == item
- throws
- - std::bad_alloc
- !*/
-
- ~file (
- );
- /*!
- ensures
- - all resources associated with *this have been released
- !*/
-
- const std::string& name (
- ) const;
- /*!
- ensures
- - returns the name of the file. This is full_name() minus
- the path to the file.
- !*/
-
- const std::string& full_name (
- ) const;
- /*!
- ensures
- - returns the fully qualified name for the file represented by *this
- !*/
-
- uint64 size (
- ) const;
- /*!
- ensures
- - returns the size of this file in bytes.
- !*/
-
- std::chrono::time_point<std::chrono::system_clock> last_modified (
- ) const;
- /*!
- ensures
- - returns the time the file was last modified.
- !*/
-
- operator std::string (
- ) const;
- /*!
- ensures
- - returns full_name()
- (i.e. provides an implicit conversion to string from dlib::file)
- !*/
-
- file& operator= (
- const file& rhs
- );
- /*!
- ensures
- - #*this == rhs
- !*/
-
- bool operator == (
- const file& rhs
- ) const;
- /*!
- ensures
- - if (*this and rhs represent the same file) then
- - returns true
- - else
- - returns false
- !*/
-
- bool operator != (
- const file& rhs
- ) const;
- /*!
- ensures
- - if (*this and rhs represent the same file) then
- - returns false
- - else
- - returns true
- !*/
-
- bool operator < (
- const file& item
- ) const;
- /*!
- ensures
- - if (full_name() < item.full_name()) then
- - returns true
- - else
- - returns false
- !*/
-
- void swap (
- file& item
- );
- /*!
- ensures
- - swaps *this and item
- !*/
-
- };
-
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
- // directory object
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
-
- class directory
- {
- /*!
- WHAT THIS OBJECT REPRESENTS
- This object represents a directory in a file system. It gives
- the ability to traverse a directory tree.
-
- Note that the directories . and .. are not returned by get_dirs()
- !*/
-
- public:
-
- class dir_not_found : public error {};
- class listing_error : public error {};
-
- directory (
- );
- /*!
- ensures
- - #*this has been properly initialized
- - #full_name() == ""
- - #name() == ""
- - #is_root() == true
- - #*this does not represent any directory
- throws
- - std::bad_alloc
- !*/
-
- directory (
- const std::string& name
- );
- /*!
- ensures
- - #*this has been properly initialized
- - #*this represents the directory given by name.
- Note that name can be a fully qualified path or just a path
- relative to the current working directory. Also, any symbolic
- links in name will be resolved.
- throws
- - std::bad_alloc
- - dir_not_found
- This exception is thrown if the directory can not be found or
- accessed.
- !*/
-
- directory (
- const char* name
- );
- /*!
- ensures
- - this function is identical to directory(const std::string& name)
- !*/
-
- directory (
- const directory& item
- );
- /*!
- ensures
- - #*this == item
- throws
- - std::bad_alloc
- !*/
-
- ~directory (
- );
- /*!
- ensures
- - all resources associated with *this have been released
- !*/
-
- static char get_separator (
- );
- /*!
- ensures
- - returns the character used to separate directories and file names in a
- path. (i.e. \ on windows and / in unix)
- !*/
-
- template <
- typename queue_of_files
- >
- void get_files (
- queue_of_files& files
- ) const;
- /*!
- requires
- - queue_of_files == an implementation of queue/queue_kernel_abstract.h with T
- set to file or a std::vector<file> or dlib::std_vector_c<file>.
- ensures
- - #files == A queue containing all the files present in this directory.
- (Note that symbolic links will not have been resolved in the names
- of the returned files.)
- - #files.size() == the number of files in this directory
- throws
- - bad_alloc
- If this exception is thrown then the call to get_files() has
- no effect on *this and #files is unusable until files.clear()
- is called and succeeds.
- - listing_error
- This exception is thrown if listing access has been denied to this
- directory or if some error occurred that prevented us from successfully
- getting the contents of this directory.
- If this exception is thrown then the call to get_files() has
- no effect on *this and #files.size()==0.
- !*/
-
- std::vector<file> get_files (
- ) const;
- /*!
- ensures
- - This function simply calls get_files(temp_vector) and then returns temp_vector.
- !*/
-
- template <
- typename queue_of_dirs
- >
- void get_dirs (
- queue_of_dirs& dirs
- ) const;
- /*!
- requires
- - queue_of_dirs == an implementation of queue/queue_kernel_abstract.h with T
- set to directory or a std::vector<directory> or dlib::std_vector_c<directory>.
- ensures
- - #dirs == a queue containing all the directories present in this directory.
- (note that symbolic links will not have been resolved in the names
- of the returned directories.)
- - #dirs.size() == the number of subdirectories in this directory
- throws
- - bad_alloc
- If this exception is thrown then the call to get_files() has
- no effect on *this and #files is unusable until files.clear()
- is called and succeeds.
- - listing_error
- This exception is thrown if listing access has been denied to this
- directory or if some error occurred that prevented us from successfully
- getting the contents of this directory.
- If this exception is thrown then the call to get_dirs() has
- no effect on *this and #dirs.size()==0.
- !*/
-
- std::vector<directory> get_dirs (
- ) const;
- /*!
- ensures
- - This function simply calls get_dirs(temp_vector) and then returns temp_vector.
- !*/
-
- bool is_root (
- ) const;
- /*!
- ensures
- - if (*this represents the root of this directory tree) then
- - returns true
- - else
- - returns false
- !*/
-
- const directory get_parent (
- ) const;
- /*!
- ensures
- - if (is_root()) then
- - returns a copy of *this
- - else
- - returns the parent directory of *this
- throws
- - bad_alloc
- If this exception is thrown then the call to get_parent() will
- have no effect.
- !*/
-
- const std::string& name (
- ) const;
- /*!
- ensures
- - if (is_root()) then
- - returns ""
- - else
- - returns the name of the directory. This is full_name() minus
- the path to the directory.
- !*/
-
- const std::string& full_name (
- ) const;
- /*!
- ensures
- - returns the fully qualified directory name for *this
- - if (is_root()) then
- - the last character of #full_name() is get_separator()
- - else
- - the last character of #full_name() is NOT get_separator()
- !*/
-
- operator std::string (
- ) const;
- /*!
- ensures
- - returns full_name()
- (i.e. provides an implicit conversion to string from dlib::directory)
- !*/
-
- directory& operator= (
- const directory& rhs
- );
- /*!
- ensures
- - #*this == rhs
- !*/
-
- bool operator == (
- const directory& rhs
- ) const;
- /*!
- ensures
- - if (*this and rhs represent the same directory) then
- - returns true
- - else
- - returns false
- !*/
-
- bool operator != (
- const directory& rhs
- ) const;
- /*!
- ensures
- - if (*this and rhs represent the same directory) then
- - returns false
- - else
- - returns true
- !*/
-
- bool operator < (
- const directory& item
- ) const;
- /*!
- ensures
- - if (full_name() < item.full_name()) then
- - returns true
- - else
- - returns false
- !*/
-
- void swap (
- directory& item
- );
- /*!
- ensures
- - swaps *this and item
- !*/
-
- };
-
-// ----------------------------------------------------------------------------------------
-
- inline std::ostream& operator<< (
- std::ostream& out,
- const directory& item
- );
- /*!
- ensures
- - performs: out << item.full_name()
- - returns out
- !*/
-
- inline std::ostream& operator<< (
- std::ostream& out,
- const file& item
- );
- /*!
- ensures
- - performs: out << item.full_name()
- - returns out
- !*/
-
-// ----------------------------------------------------------------------------------------
-
- inline void swap (
- file& a,
- file& b
- ) { a.swap(b); }
- /*!
- provides a global swap function for file objects
- !*/
-
-// ----------------------------------------------------------------------------------------
-
- inline void swap (
- directory& a,
- directory& b
- ) { a.swap(b); }
- /*!
- provides a global swap function for directory objects
- !*/
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_DIR_NAV_KERNEl_ABSTRACT_
-