2014년 7월 16일 수요일

EFL : Data Type

efl 프로젝트에서 많이 쓰이는 type definition된 자료형을 소개합니다.

- Eina_Bool
boolean을 위한 자료형

실제는
typedef unsigned char Eina_Bool;

으로 type definition 되어 있다.

EFL 코드중에 종종

Eina_Bool var = !!value

이와 같은 코드가 보이는데, 참과 거짓 이외에 다른 숫자가 들어가는 것을 방지하기 위해(본래 unsigned char 이므로) 그러는 것으로 보인다.

이외에, EINA_FALSE, EINA_TRUE 매크로가 정의되어 있다.

#define EINA_FALSE ((Eina_Bool)0)
#define EINA_TRUE  ((Eina_Bool)1)

일부 구조체 에서는 아래와 같이 bitfield를 이용해서 선언하는데, 어떤 구조체에서는 bitfield를 사용하지 않는다. 통일성이 없음..
Eina_Bool       bounce_x_hold : 1;
Eina_Bool       bounce_y_hold : 1;
Eina_Bool       dragged_began : 1;

댓글 없음:

댓글 쓰기