2017-12-21 2 views
1

를 사용 protobuf에서 데이터 구조를 조작, 킬로그램이 같다 :내가 protobuf에 정의 된 데이터 구조를 수정하려는 C++

message DoubleMap { 
    map<string, double> double_map = 1 
} 

message DoubleVector { 
    map<string, DoubleMap> double_vector = 1 
} 

message Data { 
    repeated DoubleVector data = 1 
} 

I 수정하고 데이터를 삭제하고, 새로운 필요,이 경우 더 쉽게 데이터 구조는 C++로 정의됩니다. 내 질문은 protobuf 입력 받아 C++에서 데이터 구조를 빌드하는 로더가 있어야합니까? 또는 protobuf 생성 함수를 기반으로 자신의 도우미 함수를 빌드 할 수 있습니까?

+1

당신의 .proto 정의에서'protoc' 컴파일러에 의해 생성 된 C++ 클래스 잘못은 무엇? 그들이 부족하다고 느끼는 것은 무엇입니까? –

+0

"내가 필요합니까"누군가가 당신에게 필요한 것을 어떻게 말할 것이라고 기대합니까? – Slava

+0

'Data d'가 주어지면'd.data.double_vector.double_map [ "key"]'처럼 DoubleMap에서 하나의 double 값에 접근하고 싶습니다. 다음 protoc 생성 된 코드에서 도우미 함수를 사용하면 매우 길다. – superd

답변

0

protobuf doc에 따르면, 구글은 당신이 래퍼를 작성하는 것을 권장 :

Google encourages to write wrappers

관련 문제