Add MentalExistent hierarchy of classes.

These differ from the MentalEntity class hierarchy in that
MentalExistents are a narrower subset of MentalEntities. MentalEntities
refer to all mental content that needs to be persistently stored to
represent cognitive and personna state.

MentalExistents are content of the mind that specifically represents
existents. I.e: perceptual data, whether structural or implicative.
This commit is contained in:
2025-08-03 04:54:27 -04:00
parent 4a3daaf403
commit 6114a2648d
4 changed files with 106 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
#ifndef _ARTIFICED_MENTAL_EXISTENT_H
#define _ARTIFICED_MENTAL_EXISTENT_H
#include "mentalExistent.h"
namespace smo {
class FogArtificedMentalExistent
: public ArtificedMentalExistent
{
};
typedef FogArtificedMentalExistent Fogaxent, FogArtixent;
class IdyllicArtificedMentalExistent
: public ArtificedMentalExistent
{
};
typedef IdyllicArtificedMentalExistent Idyllixent, IdyllArtixent;
class FantasyArtificedMentalExistent
: public ArtificedMentalExistent
{
};
typedef FantasyArtificedMentalExistent Fantaxent, FanArtixent;
} // namespace smo
#endif
@@ -0,0 +1,24 @@
#ifndef _FANTASY_ARTIFICED_MENTAL_EXISTENT_H
#define _FANTASY_ARTIFICED_MENTAL_EXISTENT_H
#include "artificedMentalExistent.h"
namespace smo {
class FictionalFantasyArtificedMentalExistent
: public FantasyArtificedMentalExistent
{
};
typedef FictionalFantasyArtificedMentalExistent Fictaxent, FictFantixent;
class AspirationFantasyArtificedMentalExistent
: public FantasyArtificedMentalExistent
{
};
typedef AspirationFantasyArtificedMentalExistent Aspixent, AsFantixent;
} // namespace smo
#endif
+14
View File
@@ -3,10 +3,24 @@
namespace smo {
/*
* MentalEntities refer to all mental content that needs to be persistently
* stored to represent cognitive and personna state. This includes such things
* as value judgements, comparators, logical ops, DB links, etc.
*
* Mental Existents are a narrower subset of MentalEntities that represent
* implicit existents and perceptual data, both implexed and artificed.
*/
class MentalEntity
{
public:
using Id = uint32_t;
public:
MentalEntity(const Id id) : id(id) {}
public:
const Id id;
};
} // namespace smo
+37
View File
@@ -0,0 +1,37 @@
#ifndef _MENTAL_EXISTENT_H
#define _MENTAL_EXISTENT_H
#include "mentalEntity.h"
namespace smo {
/*
* MentalExistents are content of the mind that specifically represents
* existents. I.e: perceptual data, whether structural or implicative. All
* Mentexents are Mentities, but not all Mentities are Mentexents.
*/
class MentalExistent
: public MentalEntity
{
};
typedef MentalExistent Mentexent;
class ImplexedMentalExistent
: public MentalExistent
{
};
typedef ImplexedMentalExistent Implexent;
class ArtificedMentalExistent
: public MentalExistent
{
};
typedef ArtificedMentalExistent Artifixent, Artixent;
} // namespace smo
#endif