summaryrefslogtreecommitdiff
path: root/include/cppunit/SourceLine.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cppunit/SourceLine.h')
-rw-r--r--include/cppunit/SourceLine.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/include/cppunit/SourceLine.h b/include/cppunit/SourceLine.h
new file mode 100644
index 0000000..d80f74b
--- /dev/null
+++ b/include/cppunit/SourceLine.h
@@ -0,0 +1,50 @@
+#ifndef CPPUNIT_SOURCELINE_H
+#define CPPUNIT_SOURCELINE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+/** Constructs a SourceLine object initialized with the location where the macro is expanded.
+ * Used to write your own assertion macros.
+ * \see Asserter for example of usage.
+ */
+#define CPPUNIT_SOURCELINE() ::CppUnit::SourceLine( __FILE__, __LINE__ )
+
+
+namespace CppUnit
+{
+
+/*! \class SourceLine
+ * \brief This class represents the location of a line of text in a specified file.
+ */
+class SourceLine
+{
+public:
+ SourceLine();
+
+ SourceLine( const std::string &fileName,
+ int lineNumber );
+
+ /// Destructor.
+ virtual ~SourceLine();
+
+ bool isValid() const;
+
+ int lineNumber() const;
+
+ std::string fileName() const;
+
+ bool operator ==( const SourceLine &other ) const;
+ bool operator !=( const SourceLine &other ) const;
+
+private:
+ std::string m_fileName;
+ int m_lineNumber;
+};
+
+
+} // namespace CppUnit
+
+
+
+#endif // CPPUNIT_SOURCELINE_H