NEURON
directory.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 1991 Stanford University
3  * Copyright (c) 1991 Silicon Graphics, Inc.
4  *
5  * Permission to use, copy, modify, distribute, and sell this software and
6  * its documentation for any purpose is hereby granted without fee, provided
7  * that (i) the above copyright notices and this permission notice appear in
8  * all copies of the software and related documentation, and (ii) the names of
9  * Stanford and Silicon Graphics may not be used in any advertising or
10  * publicity relating to the software without the specific, prior written
11  * permission of Stanford and Silicon Graphics.
12  *
13  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
14  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
15  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  * IN NO EVENT SHALL STANFORD OR SILICON GRAPHICS BE LIABLE FOR
18  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
19  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
20  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
21  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
22  * OF THIS SOFTWARE.
23  */
24 
25 #ifndef os_directory_h
26 #define os_directory_h
27 
28 #include <OS/enter-scope.h>
29 
30 class DirectoryImpl;
31 class String;
32 
33 class Directory {
34 protected:
35  Directory();
36 public:
37  virtual ~Directory();
38 
39  static Directory* current();
40  static Directory* open(const String&);
41  virtual void close();
42 
43  virtual const String* path() const;
44  virtual int count() const;
45  virtual const String* name(int index) const;
46  virtual int index(const String&) const;
47  virtual bool is_directory(int index) const;
48 
49  static String* canonical(const String&);
50  static bool match(const String& name, const String& pattern);
51 private:
53 private:
54  /* not allowed */
55  Directory(const Directory&);
56  void operator =(const Directory&);
57 };
58 
59 #endif
static bool match(const String &name, const String &pattern)
static Directory * current()
#define DirectoryImpl
Definition: _defines.h:4
static char * pattern
Definition: regexp.cpp:82
virtual void close()
static Directory * open(const String &)
virtual int count() const
DirectoryImpl * impl_
Definition: directory.h:52
virtual const String * path() const
void operator=(const Directory &)
virtual ~Directory()
virtual bool is_directory(int index) const
virtual int index(const String &) const
virtual const String * name(int index) const
static String * canonical(const String &)
Definition: string.h:34