LSSourceFile.h

// LSSourceFile.h
//
// Author David Barrett-Lennard
// (C)opyright Cedanet Pty Ltd 2006

#pragma once
#ifndef Ceda_cxMacroExpander_LSSourceFile_H
#define Ceda_cxMacroExpander_LSSourceFile_H

#include "cxMacroExpander.h"
#include "Ceda/cxUtils/xvector.h"
#include "Ceda/cxUtils/xstring.h"
#include "Ceda/cxUtils/AutoPtrExt.h"

namespace ceda
{
///////////////////////////////////////////////////////////////////////////////////////////////////
// LSSourceFile

struct cxMacroExpander_API LSSourceFile
{
    xstring m_name;
    xstring m_buffer;

    bool GetFilenameAndLineNumber(const xchar* pos, xstring& filename, ssize_t& lineNumber) const;
};

///////////////////////////////////////////////////////////////////////////////////////////////////
// LSSourceFileList

struct cxMacroExpander_API LSSourceFileList : public AutoCollectionOfPtr<xvector<LSSourceFile*> >
{
};

} // namespace ceda

#endif // include guard