<commit_before>/* 
 * TTBlue Library
 * Copyright © 2008, <NAME>
 * 
 * License: This code is licensed under the terms of the GNU LGPL
 * http://www.gnu.org/licenses/lgpl.html 
 */

#ifndef __TT_FOUNDATION_API_H__
#define __TT_FOUNDATION_API_H__

// CORE
#include "TTFoundation.h"
#include "TTDataObject.h"
#include "TTEnvironment.h"
#include "TTHash.h"
#include "TTList.h"
#include "TTMutex.h"
#include "TTObject.h"
#include "TTQueue.h"
#include "TTSymbol.h"
#include "TTSymbolTable.h"
#include "TTValue.h"

#ifdef TT_PLATFORM_WIN
#define TT_EXTENSION_EXPORT __declspec(dllexport)
#else
#define TT_EXTENSION_EXPORT
#endif


/** A macro for setting up the class binding to the library in extension classes. 
	@param strname A C-string that names the object as it should be listed in the environment. */
#define TT_CLASS_SETUP(strname, tags, className)\
	\
	extern "C" TT_EXTENSION_EXPORT TTObject* instantiate ## className (TTSymbol*, TTValue& arguments); \
	\
	TTObject*  instantiate ## className (TTSymbol*, TTValue& arguments) \
	{\
		return new className (arguments);\
	}\
	\
	extern "C" TT_EXTENSION_EXPORT TTErr loadTTExtension(void);\
	TTErr loadTTExtension(void)\
	{\
		TTBlueInit();\
		TTClassRegister(TT(strname), tags, & instantiate ## className);\
		return kTTErrNone;\
	}


#endif // __TT_FOUNDATION_API_H__<commit_msg>updating a macro to make the correct init call<commit_after>/* 
 * TTBlue Library
 * Copyright © 2008, <NAME>
 * 
 * License: This code is licensed under the terms of the GNU LGPL
 * http://www.gnu.org/licenses/lgpl.html 
 */

#ifndef __TT_FOUNDATION_API_H__
#define __TT_FOUNDATION_API_H__

// CORE
#include "TTFoundation.h"
#include "TTDataObject.h"
#include "TTEnvironment.h"
#include "TTHash.h"
#include "TTList.h"
#include "TTMutex.h"
#include "TTObject.h"
#include "TTQueue.h"
#include "TTSymbol.h"
#include "TTSymbolTable.h"
#include "TTValue.h"

#ifdef TT_PLATFORM_WIN
#define TT_EXTENSION_EXPORT __declspec(dllexport)
#else
#define TT_EXTENSION_EXPORT
#endif


/** A macro for setting up the class binding to the library in extension classes. 
	@param strname A C-string that names the object as it should be listed in the environment. */
#define TT_CLASS_SETUP(strname, tags, className)\
	\
	extern "C" TT_EXTENSION_EXPORT TTObject* instantiate ## className (TTSymbol*, TTValue& arguments); \
	\
	TTObject*  instantiate ## className (TTSymbol*, TTValue& arguments) \
	{\
		return new className (arguments);\
	}\
	\
	extern "C" TT_EXTENSION_EXPORT TTErr loadTTExtension(void);\
	TTErr loadTTExtension(void)\
	{\
		TTFoundationInit();\
		TTClassRegister(TT(strname), tags, & instantiate ## className);\
		return kTTErrNone;\
	}


#endif // __TT_FOUNDATION_API_H__
{'fraction_non_alphanumeric': 0.11764705882352941, 'fraction_numerical': 0.0029596744358120607, 'mean_word_length': 4.790149892933619, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5506166', 'n_tokens_mistral': 1018, 'n_tokens_neox': 929, 'n_words': 257}