NOTA: Este sitio es obsoleto. El sitio se desactivará después del 31 de enero de 2023, y el tráfico se redireccionará al nuevo sitio disponible en https://protobuf.dev. Mientras tanto, solo se implementarán actualizaciones en protobuf.dev.

API de C++

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Paquetes

Clases auxiliares utilizadas para E/S.
Clases de utilidades
Implementación del compilador del búfer de protocolo.

google::protobuf

Files

Este archivo define un asignador Arena para mejorar el rendimiento de la asignación.
Este archivo contiene clases que describen un tipo de mensaje de protocolo.
Representaciones del búfer de protocolo de los descriptores
Interfaz para manipular bases de datos de descriptores.
Define una implementación de Message que puede emular tipos que no se conocen en el momento de la compilación.
Este archivo define el contenedor del mapa y sus asistentes para admitir mapas protobuf.
Define Message, la interfaz abstracta implementada por objetos de mensaje de protocolo no Lite.
Define MessageLite, la interfaz abstracta implementada por todos los objetos de mensaje de protocolo (lite y no lite).
Las clases de mensajes de protocolo generadas usan RepeatedField y RepeatedPtrField para manipular los campos repetidos.
OBSOLETO: En este módulo, se declaran las interfaces abstractas subyacentes a los servicios de RPC proto2.
Utilidades para imprimir y analizar mensajes de protocolo en un formato legible basado en texto.
Contiene clases que se usan para realizar un seguimiento de los campos no reconocidos que se ven cuando se analiza un mensaje de protocolo.

google::protobuf::io

Clases auxiliares utilizadas para E/S.

La biblioteca del búfer de protocolo usa las clases en este paquete para manejar la E/S y la codificación o decodificación de bytes sin procesar. La mayoría de los usuarios no necesitarán lidiar con este paquete. Sin embargo, los usuarios que deseen adaptar el sistema para que trabaje con sus propias abstracciones de E/S (p.ej., para permitir que los búferes de protocolo se lean desde un tipo diferente de transmisión de entrada sin la necesidad de un búfer temporal) deben analizar con más detalle.

Files

Este archivo contiene las clases CodedInputStream y CodedOutputStream, que unen una ZeroCopyInputStream o una ZeroCopyOutputStream, respectivamente, y le permiten leer o escribir datos individuales en distintos formatos.
Clase de utilidad para escribir texto en un ZeroCopyOutputStream.
Clase para analizar el texto con token desde un ZeroCopyInputStream.
Este archivo contiene las interfaces ZeroCopyInputStream y ZeroCopyOutputStream, que representan transmisiones de E/S abstractas en las que se pueden leer y escribir los búferes de protocolo.
Este archivo contiene implementaciones comunes de las interfaces definidas en zero_copy_stream.h que solo se incluyen en la biblioteca protobuf completa (no lite).
Este archivo contiene implementaciones comunes de las interfaces definidas en zero_copy_stream.h que se incluyen en la biblioteca protobuf "lite".

google::protobuf::util

Clases de utilidades

Este paquete contiene varias utilidades para la comparación de mensajes, la conversión JSON, los tipos conocidos, etc.

Files

Define las clases para la comparación de campos.
Define las utilidades para el tipo conocido de FieldMask.
Funciones de utilidad para convertir entre el formato binario protobuf y el formato JSON proto3.
Este archivo define métodos y clases estáticos para comparar los mensajes de protocolo.
Define las utilidades para los tipos de marca de tiempo y duración conocidos.
Define un TypeResolver para el mensaje Any.
Define las utilidades para TypeResolver.

google::protobuf::compilador

Implementación del compilador del búfer de protocolo.

Este paquete contiene código para analizar archivos .proto y generar código en función de ellos. Existen dos motivos por los que este paquete podría interesarte:

  • Quieres analizar archivos .proto en el entorno de ejecución. En este caso, debes consultar importer.h. Como esta funcionalidad es muy útil, se incluye en la biblioteca base de libprotobuf, por lo que no es necesario que la vincules con libprotoc.
  • Quieres escribir un compilador de protocolos personalizado que genere diferentes tipos de código, p.ej., código en un lenguaje diferente que no es compatible con el compilador oficial. Para este propósito, command_line_interface.h te proporciona un frontend de compilador completo, por lo que lo único que debes hacer es escribir una implementación personalizada de CodeGenerator y una función trivial de main(). Incluso puedes hacer que tu compilador admita los lenguajes oficiales además del tuyo. Como esta funcionalidad solo es útil para quienes escriben compiladores personalizados, se encuentra en una biblioteca separada llamada "libprotoc" con la que deberás establecer un vínculo.

Files

Define la interfaz abstracta que implementa cada uno de los generadores de código específicos del lenguaje.
Implementa el frontend del compilador de protocolos de modo que se puedan reutilizar en compiladores personalizados para brindar compatibilidad con otros lenguajes.
Este archivo es la interfaz pública del analizador de archivos .proto.
Implementa el análisis de archivos .proto en FileDescriptorProtos.
Frontend para complementos del generador de códigos protoc escritos en C++.
API para los complementos protoc.
Genera código C++ para un archivo .proto determinado.
Genera código C# para un archivo .proto determinado.
Proporciona un mecanismo para asignar un descriptor al nombre completamente calificado de la clase C# correspondiente.
Genera código Java para un archivo .proto específico.
Proporciona un mecanismo para asignar un descriptor al nombre completamente calificado de la clase de Java correspondiente.
Genera código JavaScript para un archivo .proto específico.
Genera un código ObjectiveC para un archivo .proto determinado.
Funciones auxiliares para generar código de ObjectiveC.
Genera el código de Python para un archivo .proto determinado.
Genera código de Ruby para un archivo .proto determinado.