Sha256: 3c8f948897aef37618fc20d1c8d30a17d0c082d99b13c02e477905da39f62bb5

Contents?: true

Size: 923 Bytes

Versions: 6

Compression:

Stored size: 923 Bytes

Contents

// -*- c++ -*-
#pragma once
#ifndef __XOT_STRING_H__
#define __XOT_STRING_H__


#include <stdarg.h>
#include <string>


#define XOT_STRINGF(format, result) \
	Xot::String result; \
	do \
	{ \
		if (format) \
		{ \
			va_list args; \
			va_start(args, format); \
			result = Xot::stringf(format, args); \
			va_end(args); \
		} \
	} \
	while (false)


namespace Xot
{


	class String : public std::string
	{

		typedef std::string Super;

		public:

			String ();

			String (const char* str);

			operator const char* () const;

			friend String operator + (const String& lhs, const String& rhs);

			friend String operator + (const String& lhs, const char*   rhs);

			friend String operator + (const char*   lhs, const String& rhs);

	};// String


	String stringf (const char* format, ...);

	String stringf (const char* format, va_list args);

	template <typename T> String to_s (const T& val);


}// Xot


#endif//EOH

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
xot-0.1.12 include/xot/string.h
xot-0.1.11 include/xot/string.h
xot-0.1.10 include/xot/string.h
xot-0.1.9 include/xot/string.h
xot-0.1.8 include/xot/string.h
xot-0.1.7 include/xot/string.h