Espejo

Una biblioteca de C ++ para ayudarlo con su desarrollo.
Descargar ahora

Espejo Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Freeware / $0.00
  • Idioma:
  • English
  • Nombre del editor:
  • Imagine Interactive Systems
  • Tamaño del archivo:
  • 350K

Espejo Etiquetas


Espejo Descripción

Proporciona tanto meta-datos de tiempo de compilación como de tiempo de ejecución que describen construcciones comunes de C ++ El objetivo de la biblioteca del espejo es proporcionar tanto meta-datos de tiempo de compilación y tiempo de ejecución que describan las construcciones comunes de C ++ como espacios de nombres, tipos (y como un importante caso especial de tipos de Typedef-ined), clases y sus clases de base y variables de miembros, Constructores, etc. y para proporcionar interfaces uniformes y genéricos para su introspección. Debido a que la norma C ++ proporciona solo un conjunto muy limitado de metaduras para construir, el principal inconveniente de esta biblioteca es, ese espacio de nombres, tipos, clases, etc. debe estar registrado antes de poder reflejarse. Sin embargo, el espejo intenta realizar el proceso de registrarse simple al proporcionar un conjunto de macros que se registran fácilmente y tiene los nativos y muchos de los otros tipos, clases, plantillas y espacios de nombres comunes. Además, se están trabajando varias herramientas para el registro automático / semiautomático. Una vez registrado los meta-datos se pueden reutilizar en una gran cantidad de situaciones. El espejo está diseñado con el principio de estratificación en mente y trata de ser lo más menos intrusivo posible. Las clases nuevas o existentes no necesitan estar diseñadas para soportar directamente el espejo y ningún código relacionado con el espejo es necesario en la definición de la clase, en la medida en que se siguen algunas pautas generales. El espejo proporciona una capa de reflexión de tiempo de compilación que se puede usar en meta-programas de tiempo compilado y una capa de tiempo de ejecución con una interfaz similar, pero dinámica basada en los meta-datos de tiempo de compilación. Características: * Reflejo estático y dinámico de las siguientes construcciones de lenguaje a nivel de base: o Espacios de nombres o Tipos o Typedefs o Clases o Plantillas de clase * Transversales basados ​​en el rango estático y dinámico de: o Miembros de espacio de nombres como espacios de nombres anidados, clases, typedefs, plantillas, etc. o Herencia de la clase que incluye el especificador de tipo de herencia, el especificador de acceso, la clase derivada y la base en la herencia o Variables miembros de la clase que proporcionan información sobre el especificador de la clase de almacenamiento, el especificador de acceso, el alcance, el tipo y el nombre de la variable miembro o Todas las variables de los miembros de la clase, incluidos los heredados de las clases de base o Funciones de miembro de la clase estática / dinámica] o constructores o Operadores de conversión o Parámetros de plantilla o Parámetros de función que incluyen el tipo y el nombre del parámetro * La utilidad del generador de fábrica. * Otras utilidades de meta-programación de tiempo de compilación * Funciones de GETTER de nombre para todas las construcciones de idioma nombradas como espacios de nombres, tipos (incluidos los tipos derivados como punteros, referencias, matrices, funciones, tipos calificados por CV y ​​sus combinaciones), Typedefs, variables de los miembros, etc. o Nombres de base sin los especificadores de nombre anidado o Nombres completos con los especificadores de nombre anidado o Los nombres locales de construcciones nombrados anidados que pueden tener partes del especificador de nombre anidado completo se separaron según el uso de la directiva del uso del espejo en el ámbito global o los alcances locales * Funciones genéricas para obtener y configurar el valor de una variable de miembro de clase cuando se le da una referencia a la clase a la que pertenece la variable de miembro. * Reflexión de meta-objeto, categorización y despacho de etiquetas. Los tipos de etiquetas para diferentes meta-objetos se pueden usar en la sobrecarga de la función de tiempo de compilación o la plantilla de la especialización del envío y las enumeraciones de etiquetas de meta-objeto en la ramificación de tiempo de ejecución según el tipo de meta-objeto. * Utilidades de nivel superior según los meta-datos básicos: o Generadores de fábricas que permiten a crear fácilmente clases de fábrica especializables, especializadas que recopilan los valores de parámetros necesarios, seleccione y llamen al constructor apropiado de una manera específica del usuario (desde una GUI, desde un conjunto de datos RDB, desde un archivo XML, etc.) a crear instancias de un tipo especificado. * Anotación de meta-objetos con tipos de etiquetas. Varios objetos meta (solo los tipos de solo los tipos) pueden etiquetarse mediante tipos de etiquetas predefinidos o específicos de la aplicación que se pueden usar en meta-programas para la activación del procesamiento especializado. Características planificadas * Utilidades de nivel superior según los meta-datos básicos: o Inspectores de objetos similares a la utilidad de los generadores de fábrica, lo que permitiría construir clases para la inspección de la estructura (y los valores cuando corresponda) de una clase, tipo, espacio de nombres, variable de miembros, etc. de una manera definida por el usuario (en una GUI para ejemplo). o Generador de fábrica abstracto, lo que permite crear instancias de diferentes clases derivadas con una clase base común. o Traversores de espacios de nombres, clases, etc. para (de) operaciones similares a serializaciones. o Acceso a datos semánticos que describen las construcciones de lenguaje individual conceptualmente. Esto permitiría que, por ejemplo, escribir agentes capaces de usar objetos de otras aplicaciones sin acceso a sus fuentes que definen estas clases. * Registro automático (o semiautomático), utilizando varias herramientas comunes y herramientas de herramientas como (Doxygen, gcc2xml, openc ++, xslt, etc.) o analizadores y transformadores portátiles especializados para generar el código fuente necesario para registrar las construcciones de nivel de base con espejo. . o puede ser completamente automático en algunos casos o Puede usar anotaciones incrustadas en comentarios (como hace Doxygen)


Espejo Software relacionado

Autorun22

AUTORUN22 Le permite crear un software Autorun basado en HTML que se reproduce automáticamente cuando inserta CD. ...

201 457.03K

Descargar