1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-05 16:31:47 +02:00

* Started implementing the new evaluation model.

* Lots of refactorings.
* Unit tests.
This commit is contained in:
Eelco Dolstra 2003-06-16 13:33:38 +00:00
parent b9f09b3268
commit 822794001c
15 changed files with 742 additions and 202 deletions

View file

@ -12,13 +12,21 @@ using namespace std;
class Error : public exception
{
protected:
string err;
public:
Error() { }
Error(string _err) { err = _err; }
~Error() throw () { };
~Error() throw () { }
const char * what() const throw () { return err.c_str(); }
};
class SysError : public Error
{
public:
SysError(string msg);
};
class UsageError : public Error
{
public:
@ -33,15 +41,20 @@ typedef vector<string> Strings;
extern string thisSystem;
/* The prefix of the Nix installation, and the environment variable
that can be used to override the default. */
extern string nixHomeDir;
extern string nixHomeDirEnvVar;
/* Return an absolutized path, resolving paths relative to the
specified directory, or the current directory otherwise. */
string absPath(string path, string dir = "");
/* Return the directory part of the given path, i.e., everything
before the final `/'. */
string dirOf(string path);
/* Return the base name of the given path, i.e., everything following
the final `/'. */
string baseNameOf(string path);
string absPath(string filename, string dir = "");
string dirOf(string s);
string baseNameOf(string s);
void debug(string s);
#endif /* !__UTIL_H */