PUMA Library Reference Manual
Puma::FileUnit Class Reference

#include <Puma/FileUnit.h>

+ Inheritance diagram for Puma::FileUnit:

Description

Special Unit for files. Holds its last save location, the absolute path of the file, and the source project the file belongs to.

Public Member Functions

 FileUnit ()
 Constructor. More...
 
 FileUnit (Unit &unit)
 Constructor. More...
 
 FileUnit (const List &list)
 Copy-constructor. More...
 
virtual ~FileUnit ()
 Destructor. More...
 
virtual void name (const char *filename)
 Set the name of the unit, i.e. More...
 
void setLocation (const char *location)
 Set the last save location of the file in the file system. More...
 
char * lastLocation () const
 Get the last save location of the file in the file system. More...
 
char * absolutePath () const
 Get the absolute version of the filename. More...
 
bool isFile () const
 Check if this unit refers to a file. More...
 
bool belongsTo (Project &project)
 Check if the file belongs to the given source project. More...
 
- Public Member Functions inherited from Puma::Unit
 Unit ()
 Constructor. More...
 
 Unit (const List &list)
 Copy-constructor. More...
 
virtual ~Unit ()
 Destructor. More...
 
char * name () const
 Get the name of the unit (usually the file name). More...
 
virtual void print (std::ostream &os) const
 Print the tokens of the unit on the given stream. More...
 
virtual bool isMacroExp () const
 Check if this is a unit for a macro expansion. More...
 
virtual bool isTemplateInstance () const
 Check if this is a unit for a template instance. More...
 
UnitStatestate ()
 Get the state of the unit. More...
 
char * toString () const
 Serialize the tokens of the unit. More...
 
Tokenfirst () const
 Get the first token in the unit. More...
 
Tokenlast () const
 Get the last token in the unit. More...
 
Tokennext (const Token *token) const
 Get the next token of the given token. More...
 
Tokenprev (const Token *token) const
 Get the previous token of the given token. More...
 
- Public Member Functions inherited from Puma::List
 List ()
 Constructor. More...
 
 List (const List &copy)
 Copy-constructor. More...
 
 ~List ()
 Destructor. More...
 
Listoperator= (const List &copy)
 Assignment operator. More...
 
Listoperator+= (const List &list)
 Append the given list. More...
 
List operator+ (const List &list)
 Create a new list containing the elements of this list followed by the elements of the given list. More...
 
void clear ()
 Destroy the list elements. More...
 
void append (ListElement &element)
 Append an element to the list. More...
 
void prepend (ListElement &element)
 Prepend an element to the list. More...
 
void insert (ListElement *at, ListElement &element)
 Insert an element at the given list position. More...
 
void remove (ListElement *element)
 Remove the given element from the list. More...
 
void kill (ListElement *from, ListElement *to=(ListElement *) 0)
 Remove and destroy all elements between the given list elements. More...
 
void cut (List &out, ListElement *from, ListElement *to=(ListElement *) 0)
 Cut all elements between the given list elements. More...
 
Listcopy (ListElement *from=(ListElement *) 0, ListElement *to=(ListElement *) 0)
 Copy all elements between the given list elements. More...
 
void paste (ListElement *at, const List &l)
 Insert copies of the elements of the given list at the given list position. More...
 
void paste_before (ListElement *at, const List &l)
 Insert copies of the elements of the given list before the given list position. More...
 
void move (ListElement *at, List &l)
 Insert the elements of the given list at the given list position. More...
 
void move_before (ListElement *at, List &l)
 Insert the elements of the given list before the given list position. More...
 
bool empty () const
 Check if the list is empty. More...
 
const ListElementfirst () const
 Get the first element in the list. More...
 
const ListElementlast () const
 Get the last element in the list. More...
 
const ListElementnext (const ListElement *element) const
 Get the next element of the given element. More...
 
const ListElementprev (const ListElement *element) const
 Get the previous element of the given element. More...
 
- Public Member Functions inherited from Puma::Printable
virtual ~Printable ()
 Destructor. More...
 

Constructor & Destructor Documentation

◆ FileUnit() [1/3]

Puma::FileUnit::FileUnit ( )
inline

Constructor.

◆ FileUnit() [2/3]

Puma::FileUnit::FileUnit ( Unit unit)
inline

Constructor.

Parameters
unitThe unit representing the file.

◆ FileUnit() [3/3]

Puma::FileUnit::FileUnit ( const List list)
inline

Copy-constructor.

Parameters
listThe list of tokens representing the file.

◆ ~FileUnit()

Puma::FileUnit::~FileUnit ( )
inlinevirtual

Destructor.

Frees the tokens.

Member Function Documentation

◆ absolutePath()

char * Puma::FileUnit::absolutePath ( ) const
inline

Get the absolute version of the filename.

Returns
The absolute filename.

◆ belongsTo()

bool Puma::FileUnit::belongsTo ( Project project)

Check if the file belongs to the given source project.

Parameters
projectThe source project.

◆ isFile()

bool Puma::FileUnit::isFile ( ) const
inlinevirtual

Check if this unit refers to a file.

Returns
Always returns true.

Reimplemented from Puma::Unit.

◆ lastLocation()

char * Puma::FileUnit::lastLocation ( ) const
inline

Get the last save location of the file in the file system.

Returns
The location of the file.

◆ name()

virtual void Puma::FileUnit::name ( const char *  filename)
virtual

Set the name of the unit, i.e.

the filename.

Parameters
filenameThe name of the unit.

Reimplemented from Puma::Unit.

◆ setLocation()

void Puma::FileUnit::setLocation ( const char *  location)

Set the last save location of the file in the file system.

Parameters
locationThe location in the file system.