blob: da5a756b81bd4d830ae6f310655a13e7ef1b54ef [file] [log] [blame]
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -07001//! Library to read and write protocol buffers data.
2
3#![deny(missing_docs)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -07004#![deny(broken_intra_doc_links)]
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -07005
6#[cfg(feature = "bytes")]
7extern crate bytes;
8#[cfg(feature = "with-serde")]
9extern crate serde;
10#[macro_use]
11#[cfg(feature = "with-serde")]
12extern crate serde_derive;
Haibo Huangd32e6ee2020-08-12 13:52:04 -070013pub use crate::cached_size::CachedSize;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070014#[cfg(feature = "bytes")]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070015pub use crate::chars::Chars;
16pub use crate::clear::Clear;
17pub use crate::enums::ProtobufEnum;
18pub use crate::error::ProtobufError;
19pub use crate::error::ProtobufResult;
Haibo Huang914311b2021-01-07 18:06:15 -080020#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070021pub use crate::message::parse_from_bytes;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070022#[cfg(feature = "bytes")]
Haibo Huang914311b2021-01-07 18:06:15 -080023#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070024pub use crate::message::parse_from_carllerche_bytes;
Haibo Huang914311b2021-01-07 18:06:15 -080025#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070026pub use crate::message::parse_from_reader;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070027#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070028pub use crate::message::parse_length_delimited_from;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070029#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070030pub use crate::message::parse_length_delimited_from_bytes;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070031#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070032pub use crate::message::parse_length_delimited_from_reader;
33pub use crate::message::Message;
34pub use crate::repeated::RepeatedField;
35pub use crate::singular::SingularField;
36pub use crate::singular::SingularPtrField;
37pub use crate::stream::wire_format;
38pub use crate::stream::CodedInputStream;
39pub use crate::stream::CodedOutputStream;
40pub use crate::unknown::UnknownFields;
41pub use crate::unknown::UnknownFieldsIter;
42pub use crate::unknown::UnknownValue;
43pub use crate::unknown::UnknownValueRef;
44pub use crate::unknown::UnknownValues;
45pub use crate::unknown::UnknownValuesIter;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070046
47// generated
48pub mod descriptor;
49pub mod plugin;
50pub mod rustproto;
51
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070052mod clear;
53pub mod compiler_plugin;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070054mod enums;
55pub mod error;
56pub mod ext;
Haibo Huangd32e6ee2020-08-12 13:52:04 -070057pub mod json;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070058pub mod lazy;
Haibo Huang52aa7852020-07-10 20:23:55 -070059mod lazy_v2;
Haibo Huangd32e6ee2020-08-12 13:52:04 -070060mod message;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070061pub mod reflect;
62mod repeated;
63pub mod rt;
64mod singular;
65pub mod stream;
66pub mod text_format;
67pub mod types;
68pub mod well_known_types;
Haibo Huang52aa7852020-07-10 20:23:55 -070069mod well_known_types_util;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070070
71// used by test
72#[cfg(test)]
73#[path = "../../protobuf-test-common/src/hex.rs"]
74mod hex;
75
76// used by rust-grpc
77pub mod descriptorx;
78
79mod cached_size;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070080mod chars;
81#[doc(hidden)] // used by codegen
82pub mod rust;
83mod strx;
84mod unknown;
85mod varint;
86mod zigzag;
87
88mod misc;
89
90mod buf_read_iter;
91
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070092/// This symbol is in generated `version.rs`, include here for IDE
93#[cfg(never)]
94pub const VERSION: &str = "";
95/// This symbol is in generated `version.rs`, include here for IDE
96#[cfg(never)]
97#[doc(hidden)]
98pub const VERSION_IDENT: &str = "";
Chih-Hung Hsieh1b6b6472020-10-25 04:16:21 -070099include!(concat!(env!("OUT_DIR"), "/version.rs"));